SELECT patient_id, patient_name
FROM patient
WHERE patient_id IN ('p37', 'p78', 'p87')
如何将IN
分隔为多个AND
语句?如果我把:
SELECT patient_id, patient_name
FROM patient
WHERE patient_id='p37' AND patient_id='p78' AND patient_id='p87'
它返回一个空结果。
我们知道可以使用IN
代替多个AND
语句,那么此查询出了什么问题?
答案 0 :(得分:2)
IN基于OR,而不是AND,因此您需要:
SELECT patient_id, patient_name FROM patient WHERE patient_id='p37' OR patient_id='p78' OR patient_id='p87'
希望有所帮助
答案 1 :(得分:1)
当您分离出操作数时,IN
关键字就像OR
一样。尝试使用AND
替换第二个查询中的OR
。
答案 2 :(得分:1)
您应该使用OR
代替AND
。 patient_id不能是' p37'和' p78'和' p87'一切都在同一时间。
SELECT patient_id, patient_name
FROM patient
WHERE patient_id='p37' OR patient_id='p78' OR patient_id='p87'
答案 3 :(得分:0)
没有更多信息很难说,但Patient_id真的可以同时做三件事吗?
也许你的意思是使用OR。
SELECT patient_id, patient_name
FROM patient
WHERE patient_id='p37' OR patient_id='p78' OR patient_id='p87'
答案 4 :(得分:0)
使用此:
SELECT patient_id, patient_name
FROM patient
WHERE patient_id='p37' OR patient_id='p78' OR patient_id='p87'