2014-04-06 40 views
-2

我想加入三个表具有多个条件。下面是表的结构和预期的结果如何加入三个表具有多个条件?

users_id users_first_name 
    1   rocky 
    2   James 
    3   john   

meeting_details_id meeting_title users_id meeting_lead close_meeting (NO) 
    1    newmeet   3   1     No 
    2    testmeet   2   2     No 


Attended_meetings 
project_meeting_attendeeid meeting_details_id users_id access_type (attendee) 
    1        1     2   attendee 

预期输出:

查询应该检查一下会议出席或用户是会议导致

meeting_title creator meeting_lead  close_meeting (NO) 
newmeet   john  rocky     No 
testmeet   james  james     No 
+0

*“查询应检查会议是否出席或用户是否会议主持人”* - 如果会议始终有主持人,则无论是否出席会议,总是会被包括在内。从可用的信息中,'attend_meeting'表与预期输出无关。 –

+0

mark然后它应该是什么,如果我想要的结果,也就是
詹姆斯我想要显示两个会议newmeet和testmeet在一个他是会议主角,并在一个他参加了会议 – Amit

+0

张贴规格和要求代码不欢迎到stackoverflow 。 –

回答

1

试试这个:

SELECT M.meeting_title,U1.users_first_name as creator,U2.users_first_name as meeting_lead,M.close_meeting 
FROM MeetingTable M LEFT OUTER JOIN 
Users U1 ON M.creator=U1.users_id LEFT OUTER JOIN 
Users U2 ON M.meeting_lead=U2.users_id 

结果:

MEETING_TITLE CREATOR  MEETING_LEAD CLOSE_MEETING 
newmeet   john  rocky   No 
testmeet  James  James   No 

看到结果SQL Fiddle

+0

关于如果登录用户是詹姆斯(2)有点混淆,我应该把这个条件,我试过这个,但给一些不同的输出 – Amit

+0

@ user3042019:你的意思是meeting_lead? –

+0

例如詹姆斯登录用户他的ID是2他是在一次会议中领先,他参加了一次会议,然后如何在此查询中使用ID 2感谢您的帮助 – Amit