mysql 2表加入未知列

时间:2014-08-17 21:53:21

标签: mysql sql join

如何在选择其他特定信息列的同时显示已连接的表格?

SELECT `PROP_STREET`, `PROP_PRICE`, `PROP_STATUS`, `AGT_FNAME`, `AGT_LNAME`, `PROP_STATUS`
FROM `property`, `agent`
WHERE property.PROP_AGENT = agent.AGT_FNAME && property.PROP_STATUS = SOLD; 

正如您在上面所看到的,我也尝试显示仅与PROP_STATUS = SOLD相关的行,但我收到错误消息Error 1054 Unknown column SOLD in WHERE clause

2 个答案:

答案 0 :(得分:1)

您需要在SOLD字段

中添加引号

答案 1 :(得分:1)

您可能需要在SOLD值中添加单引号。您还应该学习使用现代join语法。您不需要围绕每个标识符的反引号。并且,使用表别名使查询更容易编写和阅读:

SELECT PROP_STREET, PROP_PRICE, PROP_STATUS, AGT_FNAME, AGT_LNAME, PROP_STATUS
FROM property p JOIN
     agent a
     on p.PROP_AGENT = a.AGT_FNAME
WHERE p.PROP_STATUS = 'SOLD'; 

(我会对from子句使用表别名,但我不知道它们去了哪里。)

最后,我怀疑你在PROP_STATUS条款中需要SELECT两次。