需要帮助请使用mysql查询

时间:2014-01-13 22:55:41

标签: mysql sql if-statement left-join

我在mysql中需要以下查询的帮助。 我有两个具有以下结构的表。

 Assigned       
id  | user_id | ticket_id
1      12        6525
2      9         6520
3      6         6525
4      6         6540
Answers         
id_rta  | answer         | id_ticket | id_per
10      response text       6525        12
11      response text       6525        6
12      response text       6520        9
13      response text       6525        12

指定表

id:AI PK

user_id:分配给案例的用户ID

ticket_id:分配给它的案例ID


表格答案

id_rta:AI PK

回答:回复文字

id_ticket:提供回复的Id案例

id_per:表示案例的用户ID


我需要检查分配案例并回复的用户(是 - 否)

我尝试使用LEFT JOIN来提供信息并使用选项

IF(r.id_per = e.user_id,'YES','NO') AS Resp_Asig

但请告诉我所有案件都已得到答复,是的。当然不是。

老实说,我有点绝望,我花了几个小时尝试和阅读互联网上的文章和教程,但我无法解决任何问题。 请帮帮我:(

1 个答案:

答案 0 :(得分:0)

试试这个: -

Select asgn.user_id, asgn.ticket_id, answ.answer
from
Assigned asgn
inner join
Answers answ
on asgn.user_id = answ.id_per
and asgn.ticket_id = answ.id_ticket
and upper(answer) like '%YES%'

SQL Fiddle