2017-09-19 33 views
-1

我有一個由兩個表組成的小型數據庫。我想從這兩個表中檢索多個記錄,例如:在同一數據庫的不同表中檢索多條記錄

Table 01 -complaint_details - complaint_details_id(PK) 
Table 02 - Nature_Complaint - complain_no (PK) 
DB name -gis 

我想要檢索complaint_details_id,區,從表01和自然領域從Nature_of_Complaint表。

我寫的查詢,如下所示,但它產生一些錯誤:

SELECT complaint_details_id,district 
FROM gis.complaint_details INNER JOIN nature FROM nature_complaint 
WHERE 
    gis.complaint_details.complaint_details_id=gis.nature_complaint.complain_no; 

回答

1

這是您的查詢應該如何看起來像:

SELECT complaint_details.complaint_details_id, 
     complaint_details.district, 
     nature_complaint.nature 
FROM gis.complaint_details 
INNER JOIN gis.nature_complaint 
ON(complaint_details.complaint_details_id=nature_complaint.complain_no) 
  • 要用作輸出應該是場在SELECT條款中指定。
  • INNER JOIN與ON子句一起使用,而不是WHERE子句。
  • 使用別名來使代碼更清晰和更清晰。
+0

感謝ü這麼多。它的工作原理主鍵(complaint_details.complaint_details_id)..多謝 – gee

0

嘗試以下查詢:

SELECT cd.complaint_details_id, cd.district, nc.nature 
FROM complaint_details cd JOIN Nature_Complaint nc 
    ON cd.complaint_details_id = nc.complain_no; 
0

問題是,第二個FROM。 記得每次你做一個JOIN你必須設置一個ON值

https://dev.mysql.com/doc/refman/5.7/en/join.html

SELECT complaint_details_id,district,nature_complaint.nature FROM gis.complaint_details INNER JOIN gis.nature_complaint ON(complaint_details.complaint_details_id=nature_complaint.complain_no) 
0

你需要一個外鍵添加到表中的一個爲它才能正常工作。

SELECT complaint_details_id,district,nature_complaint.nature 
    FROM gis.complaint_details 
    JOIN gis.nature_complaint 
    ON(complaint_details.complaint_details_id=nature_complaint.complain_FK) 

加入,不管你添加外鍵在nature_complaint.complain

相關問題