我想执行mySQL查询,该查询返回表中的所有结果,但如果它们对应于单独的查询,则还有一个具有“selected”值的附加列。例如
| name |
|------|
| a |
| b |
| c |
我希望能够在查询“select * from table name ='a'时返回以下内容;
| name | selected |
|------|----------|
| a | yes |
| b | |
| c | |
也就是说,我也想知道哪些遗漏了。
答案 0 :(得分:2)
select *
, selected = case
when exists (
select *
from table2 t2
where t2.field = t1.field
and ...etc.
) then 1
else 0
end
from table t1
答案 1 :(得分:1)
Where子句限制您的行集,因此您只能获得名为“a”的行。 要让所有这些人加入有限的表格回到自己或使用IF而不在哪里:
SELECT *, IF( name='a', 'yes', '') AS selected
FROM table
答案 2 :(得分:0)
对我有用的是:
select a.*
, name = case
when
a.name = 'a'
then 0
else 1
end
as selected
from points as a