如何在显示连接表的同时选择另一个特定的信息列?
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
最佳答案
您可能需要向 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
子句使用表别名,但我不知道它们去哪里。)
最后,我怀疑您在 SELECT
子句中需要两次 PROP_STATUS
。
关于mysql 2表连接未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353996/