我希望结合两个不同的where语句,并在两种情况发生时获得输出。
SELECT j.project_id Matter_Primary_Key,
j.type_id,
l.name Role,
l.Tree_position,
j.user_id User_Primary_Key,
y.username,
tcont.name || ',' || tcont.first_name Assignee_Name,
j.assigned_on,
j.unassigned_on,
tproj.number_string Matter_Number,
tproj.name Plan_Name
FROM j_proj_assignee j,
y_user y,
l_proj_assignee_type l,
t_project tproj,
t_contact tcont
WHERE j.unassigned_on IS NULL
AND (j.type_id = '93' AND y.username = 'XXX')
AND (j.type_id = '3010' AND y.username = 'YYY')
AND j.type_id = l.primary_key
AND j.user_id = y.primary_key
AND j.project_id = tproj.primary_key
AND y.contact_id = tcont.primary_key
但是我在()里面遇到了我的查询问题,因为他们是从两个不同的表中提取的,但我只想要这些情况适用的记录。我需要加入声明吗?
答案 0 :(得分:1)
这两行读起来就像你要求同时指定所有术语一样。例如,type_id不能同时为93,也不能为3010。
AND (j.type_id = '93' AND y.username = 'XXX')
AND (j.type_id = '3010' AND y.username = 'YYY')
相反,尝试这样的事情来看它是否有效:
AND ((j.type_id = '93' AND y.username = 'XXX') OR (j.type_id = '3010' AND y.username = 'YYY'))