2015-06-22 39 views
-1

我们正在练习IN子句。我有一个客户表,列中有:customerID,fname,lnanme,city,stateMYSQL:我的基本查询出了什么问题?

我的目标是从customers表中选择状态值为的所有行的名字,城市和州:亚利桑那州,华盛顿州,俄克拉何马州,科罗拉多州或夏威夷州。

我的查询是

select fname, city, state 
from customer 
where state IN (Arizona, Washington, Oklahoma, Colorado, Hawaii); 

,我发现了错误:未知列“亚利桑那”在“where子句”

+0

'IN( '亚利桑那', '华盛顿' 号, '俄克拉荷马', '科罗拉多州', '夏威夷')' –

+0

你需要单引号围绕常量。我认为这是一个印刷错误,并投票结束这些问题。 –

回答

1

亚利桑那州,等等,都是文本值,所以应该用'包围撇号“,否则认为它们是字段名称。

+0

哦,谢谢。我们给出的例子是数值,所以它不会发生在我身上 – archer

0

你忘了'前后串后

select fname, city, state 
from customer 
where state IN ('Arizona', 'Washington', 'Oklahoma', 'Colorado', 'Hawaii'); 

希望这有助于