我有两个表,其中一个表包含许多字段,包括fldANA和fldPROD,另一个表包含相同的两个字段。并非所有fldANA和fldPROD字段在表2中都具有匹配值,因此我不知道我是否可以真正加入字段?以下是我的查询目前的情况,但它返回的记录超过预期的10或1000。
SELECT Line#, CastID,
(CASE WHEN #sRst1.PROD = FN_qryIDs.fldANA AND #sRst1.PROD =
FN_qryIDs.fldPROD
THEN FN_qryIDs.fldANA ELSE #sRst1.ANA END) AS ANA,
(CASE WHEN #sRst1.PROD = FN_qryIDs.fldANA AND #sRst1.PROD =
FN_qryIDs.fldPROD
THEN FN_qryIDs.fldCONN ELSE #sRst1.CONN END) AS CONN
INTO #sRst2
FROM #sRst1
WHERE CastID <> '' AND PROD <> '' AND ANA <> ''
答案 0 :(得分:1)
嗯,不确定源架构,但希望这至少可以让你走上正确的道路。
SELECT R1.[Line#], R1.CastID
,ISNULL(Q.fldANA, R1.ANA) [ANA]
,ISNULL(Q.fldCONN, R1.CONN) [Conn]
FROM #sRst1 R1
LEFT JOIN FN_qryIDs Q ON Q.fldANA = R1.PROD
AND Q.fldPROD = R1.PROD
WHERE R1.CastID <> ''
AND R1.Prod <> ''
AND R1.ANA <> ''