【发布时间】:2016-02-24 17:18:30
【问题描述】:
DECLARE @account VARCHAR(12)
SET @account = '49943725'
DECLARE @items VARCHAR(5)
SET @items = (SELECT item_no FROM transactions
WHERE account = @account
AND item_no IN ('81','101','108','112','113','118','187','189','190','192','193','194','195'))
SELECT
property, CONVERT(VARCHAR(10), account) AS account,
CONVERT(VARCHAR(5), item_no) AS item_no,
CONVERT(VARCHAR(9), amount) AS amount,
CONVERT(VARCHAR(9), amt_paid) AS amt_paid,
status,
CONVERT(VARCHAR(8), tran_id) AS tran_id,
CONVERT(VARCHAR(11), post_date) AS post_date,
tran_code,
CONVERT(VARCHAR(25), notes) AS notes,
clk, invoice, charge_property, *
FROM
transactions
WHERE
account = @account AND item_no = @items
错误:
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
【问题讨论】:
-
关于如何使@items = 多个值的任何提示?