Sql server SQL Server:expression in";在;操作人员
我有商店名称、ID、类型等表格。我还有商店类别(超市、商店、零售商),每个类别有几种类型(超市=大型市场、多市场等)。我想得到所有超市商店。让我们假设超市是ShopClass 2 所以我想这样写查询: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) 但不幸的是,该查询不起作用: 选择时,只能在选择列表中指定一个表达式 子查
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或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!