Sql 子查询返回了多个值。当子查询遵循=、!=、

Sql 子查询返回了多个值。当子查询遵循=、!=、,sql,Sql,您好,我编写了以下查询,但当我运行时,它显示以下异常: Subquery returned more than 1 value. This is not permitted when the subquery follows =,!=, <, <= , >, >= or when the subquery is used as an expression. SELECT ITEM_MODEL, ITEM_NAME, ITE

您好,我编写了以下查询,但当我运行时,它显示以下异常:

Subquery returned more than 1 value. This is not permitted when the subquery follows 
=,!=, <, <= , >, >= or when the subquery is used as an expression. 



SELECT   ITEM_MODEL,
         ITEM_NAME,
         ITEM_DESCRIPTION,
         VENDOR_NAME,
         (Select QUANTITY from ITEMS_MASTER ),
         RATE=(CASE WHEN Discount IS NULL OR Discount=0 THEN RATE ELSE 
         RATE-(RATE*(Discount/100)) END),
         AMOUNT=(CASE WHEN Discount IS NULL OR Discount=0 THEN AMOUNT ELSE 
         AMOUNT-(AMOUNT*(Discount/100)) END) ,
         INVOICE_NUM, 
         DATE, 
         Discount 
         FROM ITEM_DETAILS ORDER BY ITEM_MODEL

这是完美的工作之前,但我不知道发生了什么,突然我知道这是难以置信的,但不幸的是,我是真的。。任何帮助都是非常值得的。

从ITEMS\u MASTER,line中选择数量肯定有问题。首先,由于两个表之间没有相关性,逻辑似乎被打破了


也许应该基于项目Id与ITEMS\u MASTER表进行联接,然后不使用子查询而简单地选择QUANTITY字段。

从ITEMS\u MASTER选择QUANTITY的结果是什么?不确定这是一个C问题。删除了标记。@tnw..实际上我在ADO.NET中使用它..这就是我标记CAnd的原因,这就是为什么在查询的select部分中的子查询是SQL反模式并且应该避免的原因之一,另一个是性能。当你写它的时候,只有一条记录符合条件,现在不止一条了。