我想根据SQL中的多个where子句选择多个列值。我不能做这件事。
我在试一些像这样的东西
select c.fname,r.fname from customer as c LEFT JOIN retailer as r ON
r.customer_id = c.id where c.id > 10 OR r.id < 50.
基本上,我希望where子句逐个执行,第一个输出(当'where c.id>10‘被执行时)应该作为c.fname,第二个输出(当'where r.id<50’被执行时)在一个sql查询中。
这是可以做到的吗?请帮帮忙。
发布于 2015-12-22 11:21:25
尝试执行以下查询:
SELECT
c.fname,
r.fname
CASE WHEN r.id < 50 THEN 'output 1'
WHEN c.id > 10 THEN 'output 2' END AS 'OUTPUT_COLUMN'
FROM customer as c
LEFT JOIN retailer as r
ON r.customer_id = c.id
发布于 2015-12-22 11:24:44
我认为你需要一个联盟,而不是一个连接:
select c.fname, 'customer' as type from customer as c where c.id > 10
union
select r.fname, 'retailer' from retailer as r where r.id < 50
这将在一个查询中为您提供来自两个表的列表,它们彼此独立。
https://stackoverflow.com/questions/34414537
复制