我有两个一对多关系的mysql表。
Table a (id, title)
Table b (id, a_id, str1, str2)
我想从表A中选择所有行,并包含一个额外的列来指示对于每个子行,如果str1不为null,则str2也不为空。
例如,鉴于此数据......
Table a (id, title)
1, row1
2, row2
3, row3
4, row4
Table 2 (id, a_id, str1, str2)
1, 2, testa, testb
2, 2, testc, NULL
3, 3, testd, teste
4, 4, NULL, NULL
...我想选择一个看起来像这样的结果集:
id, title, str1AndStr2
1, row1, 1
2, row2, 0
3, row3, 1
4, row4, 1
最好的方法是什么?
答案 0 :(得分:0)
这可以使用MySQL的sprand来完成。为此,我已将case语句插入到select
子句中以有条件地显示值。
select
a.id
, a.title
, case
when b.str1 is not null and b.str2 is not null
then 1
else 0
end as str1AndStr2
from
tableA a
join tableB b