Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server:expression in";在;操作人员_Sql Server_Database - Fatal编程技术网

Sql server SQL Server:expression in";在;操作人员

Sql server SQL Server:expression in";在;操作人员,sql-server,database,Sql Server,Database,我有商店名称、ID、类型等表格。我还有商店类别(超市、商店、零售商),每个类别有几种类型(超市=大型市场、多市场等)。我想得到所有超市商店。让我们假设超市是ShopClass 2 所以我想这样写查询: SELECT ShopID, ShopName FROM Shops WHERE ShopType in (SELECT ShopType FROM ShopClasses WHERE ShopClass = 2) 但不幸的是,该查询不起作用: 选择时,只能在选择列表中指定一个表达式 子查

我有商店名称、ID、类型等表格。我还有商店类别(超市、商店、零售商),每个类别有几种类型(超市=大型市场、多市场等)。我想得到所有超市商店。让我们假设超市是ShopClass 2

所以我想这样写查询:

SELECT ShopID, ShopName 
FROM Shops 
WHERE ShopType in (SELECT ShopType FROM ShopClasses WHERE ShopClass = 2) 
但不幸的是,该查询不起作用:

选择时,只能在选择列表中指定一个表达式 子查询不随EXISTS一起引入

原因是什么?A好的,我可以在in语句中使用表达式。

试试这个:

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

谢谢,现在可以用了。很奇怪,但这就是确切的解决方案。如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!