我正在通过处理一些问题来学习SQ服务器。
在其中一个问题中,我有4个数据库表:<编码> ORDERS,SHIPments, WHFICHES和ATTACHments
。
其中一份是关于指定为<编码>的其他表格的附文。 ATTACHments。 它有3栏:
LREF
(Unique ref as primary key)RECREF
(Records ref)RECTYPE
(Record type)
通过核对<代码>RECTYPE的价值,我希望通过<代码>RECREF与其他表格合并。
这里,我转接案件:
SELECT LREF,RECREF,RECTYPE,
CASE RECTYPE
WHEN 100 THEN (SELECT O.ORDERNO FROM AV_ATTACHMENTS A LEFT OUTER JOIN AV_ORDERS O ON A.RECREF = O.LREF WHERE A.RECREF = O.LREF)
WHEN 200 THEN (SELECT S.FSNNO FROM AV_ATTACHMENTS A LEFT OUTER JOIN AV_SHIPMENTS S ON A.RECREF = S.LREF WHERE A.RECREF = S.LREF)
ELSE (SELECT F.WHFICHENO FROM AV_ATTACHMENTS A LEFT OUTER JOIN AV_WHFICHES F ON A.RECREF = F.WHFICHENO WHERE A.RECREF = F.LREF)
END AS FICHE
FROM AV_ATTACHMENTS
此外,在其他表格中,I有独特的主要钥匙LREF
,另一个数值将用作。 FICHENO
。
我收到这一警告:
Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , , >= or when the subquery is used as an expression.
What should I do exactly, because I can t find any solution. Should I change my SQL statement? Any suggestions?
My kind regards and thanks in advance.