mysql 2表连接未知列

标签 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

最佳答案

您可能需要向 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/

相关文章:

MySQL Dense_Rank() 和 Max() 函数不在同一语句中工作

mysql - 我是否正确规范了这张表?

sql - 要删除,更改实体的标志 VS 移动到另一个表?

php - 查询根据一个字段的最大值和另一字段的特定值查找数据

MySQL 子查询、别名、表连接查询的计算

mysql - 第一个 LEFT JOIN 是否适用于多个 JOIN?

加入不同的列

java - MySQL 给出正确的输出,但 Java 引发异常

mysql - 根据 MySQL 中的特定情况查找列的平均长度

mysql - 在MySQL中组合 'excluding'给定列的表内容