我试图使用以下语句从我的SQL表中调用特定信息
SELECT `PROP_STREET`, `PROP_PRICE`, `PROP_STATUS`, `AGT_FNAME`, `AGT_LNAME`
FROM `property`, `agent`
WHERE property.PROP_AGENT = agent.AGT_FNAME && property.PROP_STATUS = ("SOLD" , "Available for sale", "Under Contract");
正如您所看到的,我正在尝试将列出的所有内容称为SOLD
,Available for sale
和Under Contract
。当我尝试这样做时,我收到错误operand should contain 1 coulmn
只有当我尝试拨打多个PROP_STATUS
答案 0 :(得分:2)
这是您正在尝试做的正确语法:
select prop_street, prop_price, prop_status, agt_fname, agt_lname
from property p
join agent a
on p.prop_agent = a.agt_fname
where p.prop_status in ('SOLD', 'Available for sale', 'Under Contract')
一些注意事项:
Join条件属于JOIN子句,而不是WHERE子句。虽然没有功能差异,但这是一种很好的做法。
&安培;&安培;在其他语言中的意思是“AND”,而不是SQL。必须使用“和”
对文字(')使用单引号,而不是双引号(“)
指定多个文字时使用IN,而不是=。
答案 1 :(得分:0)
避免使用旧的JOIN语法(where子句)并使用较新的连接(使用ON子句)。
SELECT `PROP_STREET`, `PROP_PRICE`, `PROP_STATUS`, `AGT_FNAME`, `AGT_LNAME`
FROM `property` INNER JOIN `agent`
ON property.PROP_AGENT = agent.AGT_FNAME
WHERE property.PROP_STATUS IN ('SOLD' , 'Available for sale', 'Under Contract');