2017-03-05 75 views
0

你好我堅持這個問題,我有表我應該怎樣改變我的sql語句,以便我可以用這張表來到達?

投訴:

Complaint table

用戶:

User table

,我想提取是在用戶投訴具體省

例如:如果我想提取伊羅戈省的投訴,我的表是這樣的

complaint_id | user_id | complaint_title| complaint_category | complaint_desc 
--------------------------------------------------------------------------------- 
17   | 2  | 2    | Accidents   | qwe123 

IVE帶着這條SQL語句:

SELECT DISTINCT complaint.complaint_id, complaint.user_id, 
     complaint.complaint_title,complaint.complaint_desc       
FROM complaint LEFT JOIN 
    user 
    ON user.province = 'ILOCOS' LEFT JOIN 
    complaint_media 
    ON complaint.complaint_id = complaint_media.complaint_id 

回答

0

你需要加入投訴表與用戶表在user_id列上,否則它將是笛卡爾連接。

select distinct complaint.complaint_id, -- check if you really need "DISTINCT" 
    complaint.user_id, 
    complaint.complaint_title, 
    complaint.complaint_desc, 
    . . . 
from complaint 
join user 
    on complaint.user_id = user.user_id  -- here 
     and user.province = 'ILOCOS' 
join complaint_media 
    on complaint.complaint_id = complaint_media.complaint_id 
+0

owhh它並不需要不同,它沒有得到我想要的東西,但它仍然顯示所有投訴:(伊羅戈 –

+0

@JoshuaLee省的不是抱怨的 - 這就是你becase的使用左加入你想要的。一個內部連接然後更新答案 – GurV

+0

@JoshuaLee - 你不需要爲'inner join'編寫'inner',只需'join'就足夠了,默認情況下只有內部文件 – GurV

相關問題