【发布时间】:2011-02-08 20:07:47
【问题描述】:
我运行以下查询:
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 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
有什么想法吗?
【问题讨论】:
-
哦,停止使用隐含的连接语法,这是一种非常糟糕的做法,更难维护,更容易出错。
-
@HLGEM 为什么它的做法很糟糕,更难维护,更容易出错?
-
这些表连接在哪些字段上?提示:我无法判断的事实是问题所在。
标签: sql sql-server tsql