如何解决“子查询返回的值超过1”的错误

时间:2018-08-08 15:38:03

标签: sql-server

嗨,有可能做类似的事情吗?

SELECT 
    CASE WHEN STH1 IN (SELECT STH1 FROM DATABASE1) 
    THEN (SELECT STH1 FROM DATABASE1) 
    ELSE (SELECT STH1 FROM DATABASE2) END
FROM [test].[CDN].[TwrKarty]

或者也许有其他方法可以解决我的问题。我想显示所有内容(来自第一个数据库),当它在第二个数据库中时,?Option = 1否则,则显示第二个数据库中没有的所有内容。

当我尝试做第一种方式时,出现此错误

  

子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 –

示例:当我的选项= 1(例如1 = 1)时,我想获取

 SELECT number FROM shipment WHERE (number IN (SELECT number FROM shipment_desc))

当我的选项= 2时,我想得到

SELECT number FROM shipment WHERE (number NOT IN (SELECT number FROM shipment_desc))

它是SQL Server。

0 个答案:

没有答案