select语句中的mysql大小写
我有两张桌子 1个访问表select语句中的mysql大小写,mysql,Mysql,我有两张桌子 1个访问表 visit_id | visit_date | premises_name 1 2012-04-25 abc 2 2012-04-25 xyz 3 2012-04-25 yio 2样本表 visit_id | sample_id | item_name 1 ab
visit_id | visit_date | premises_name
1 2012-04-25 abc
2 2012-04-25 xyz
3 2012-04-25 yio
2样本表
visit_id | sample_id | item_name
1 abc_332 lmn
1 xyz_342 pqr
2 lsl_324 plk
每次访问可以有多个样本
我想要输出以下结果的查询
visit_id | visit_date | is_sample_taken
1 2012-04-25 YES
2 2012-04-25 YES
3 2012-04-25 NO
我搜索了很多,但没有找到解决方案。请帮助尝试以下方法:
select visit_id , visit_date , case when sum(case when b.visit_id is NULL then 0 else 1 end) > 0 then 'YES' else 'NO' end as sampletaken
from visittable as a LEFT OUTER JOIN sampltetable as b on a.visit_id = b.visit_id
group by visit_id , visit_date
在Hiren Dhaduk回答的帮助/提示下,我得到了问题的答案
SELECT v.v_id, v.v_date, (
CASE WHEN EXISTS (
SELECT sample_id
FROM sample
WHERE visit_id = v.v_id
)
THEN 1 ELSE 0 END
) AS is_sample_taken
FROM visit v
@MarcinOrlowski:我不明白你的意思?@user1543848,建议你关注Jon Skeet在上的博客文章。很重要的一点是,你要提供一个你所做和失败的例子。谢谢你的建议。现在我明白了马辛·奥洛夫斯基为什么用非常粗鲁的方式评论。下次我一定会听从你的建议。无论如何,在海伦·达杜克的帮助/暗示下,我解决了我的问题。