2012-07-08 41 views
0

表达我的店铺名称,标识,类型等表格。我也有商店(超市,商店,零售商)的类,每个类有几种类型(超市= megamarket,多市场等),我想获得所有超市商店。让我们假设超市是ShopClass 2SQL服务器:在“IN”操作符

所以我想写出这样的查询:

SELECT ShopID, ShopName 
FROM Shops 
WHERE ShopType in (SELECT ShopType FROM ShopClasses WHERE ShopClass = 2) 

但遗憾的是该查询不起作用:

只有一个表达式可以在指定 子查询中没有引入EXISTS时的选择列表

是什么原因? AFAIK我可以在IN语句中使用表达式。

回答

1

试试这个:

SELECT ShopID, ShopName 
FROM Shops AS shopslist 
WHERE shopslist.ShopType in (SELECT ShopType FROM ShopClasses WHERE ShopClass = 2) 
+0

感谢,现在的工作。很奇怪,但这是确切的解决方案。 – seeker 2012-07-08 18:08:35

+0

如果您发布的代码,XML或数据样本,**请**突出显示文本编辑器的线路,然后点击编辑器工具栏上的“代码示例”按钮('{}')来很好的格式和语法高亮显示! – 2012-07-08 18:59:08