SQL Server子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =时,不允许这样做

SQL Server子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =时,不允许这样做

我运行以下查询:


SELECT 

   orderdetails.sku,

   orderdetails.mf_item_number,

   orderdetails.qty,

   orderdetails.price,

   supplier.supplierid,

   supplier.suppliername,

   supplier.dropshipfees,

   cost = (SELECT supplier_item.price

           FROM   supplier_item,

                  orderdetails,

                  supplier

           WHERE  supplier_item.sku = orderdetails.sku

                  AND supplier_item.supplierid = supplier.supplierid)

FROM   orderdetails,

       supplier,

       group_master

WHERE  invoiceid = '339740'

       AND orderdetails.mfr_id = supplier.supplierid

       AND group_master.sku = orderdetails.sku  

我收到以下错误:


消息512,级别16,状态1,行2子查询返回的值超过1。当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做。


有任何想法吗?


素胚勾勒不出你
浏览 564回答 3
3回答

qq_笑_17

试试这个:SELECT &nbsp;&nbsp;&nbsp;&nbsp;od.Sku, &nbsp;&nbsp;&nbsp;&nbsp;od.mf_item_number, &nbsp;&nbsp;&nbsp;&nbsp;od.Qty, &nbsp;&nbsp;&nbsp;&nbsp;od.Price, &nbsp;&nbsp;&nbsp;&nbsp;s.SupplierId, &nbsp;&nbsp;&nbsp;&nbsp;s.SupplierName, &nbsp;&nbsp;&nbsp;&nbsp;s.DropShipFees, &nbsp;&nbsp;&nbsp;&nbsp;si.Price&nbsp;as&nbsp;costFROM &nbsp;&nbsp;&nbsp;&nbsp;OrderDetails&nbsp;od&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;Supplier&nbsp;s&nbsp;on&nbsp;s.SupplierId&nbsp;=&nbsp;od.Mfr_ID&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;Group_Master&nbsp;gm&nbsp;on&nbsp;gm.Sku&nbsp;=&nbsp;od.Sku&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;Supplier_Item&nbsp;si&nbsp;on&nbsp;si.SKU&nbsp;=&nbsp;od.Sku&nbsp;and&nbsp;si.SupplierId&nbsp;=&nbsp;s.SupplierIDWHERE &nbsp;&nbsp;&nbsp;&nbsp;od.invoiceid&nbsp;=&nbsp;'339740'除了cost列之外,这将返回多个相同的行。查看返回的不同成本值,并找出导致不同值的原因。然后向某人询问他们想要的成本值,并将标准添加到将选择该成本的查询中。
打开App,查看更多内容
随时随地看视频慕课网APP