我有一个由两个表组成的小型数据库。我想从这两个表中检索多个记录,例如:
Table 01 -complaint_details - complaint_details_id(PK)
Table 02 - Nature_Complaint - complain_no (PK)
DB name -gis
我想从Nature_of_Complaint表中的表01和自然字段中检索complaint_details_id,district。
我按如下方式编写了查询,但它产生了一些错误:
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;
答案 0 :(得分: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
子句中指定。ON
子句一起使用,而不是WHERE
子句。答案 1 :(得分: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;
答案 2 :(得分: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)
答案 3 :(得分: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)
将主键(complaints_details.complaint_details_id)与添加外键的任何内容一起加入,如nature_complaint.complain