选择具有多个where子句的多个值

时间:2015-12-22 11:11:20

标签: mysql

我想根据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子句逐个执行并且第一次输出(当执行c.id&gt; 10&#39;时)应该是c.fname和第二个输出(当&#时39;其中r.id&lt; 50&#;;)在一个SQL查询中。

可以吗?请帮忙。

2 个答案:

答案 0 :(得分:0)

尝试以下查询:

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

答案 1 :(得分:0)

我认为你需要一个联盟,而不是一个联盟:

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

这将在1个查询中为您提供两个表中的列表,彼此独立。