0

2つの異なるテーブルからSymNumberという列を取得する必要があります。どちらも同様の基準を使用して選択されます。以下は私がこれまでに持っているものであり、それは機能していません...

DECLARE @date datetime

SELECT @date = LastChangeDate
FROM QueueUpdates

SELECT DISTINCT u.CompanyCode, u.AgentId 
FROM SymNumberToAgentId u, AgentIdToTradingPartner a, TradingPartner t, AgentContEd c 
WHERE u.SymNumber in 
(SELECT SymNumber FROM 
(SELECT a.SymeNumber, c.SymNumber 
FROM AgentProductTraining a, AgentContEd c 
WHERE a.LastChangeDate >= @date and c.LastChangeDate >= @date) a ) and 
u.AgentId = a.AgentId and a.TradingPartnerCode = t.TradingPartnerCode and t.TradingPartnerCode = 'SE2'

GO

私に頭痛の種を与えている部分は、以下にリストされている内部クエリです。この部分を調整することで、両方のテーブルからSymNum列を取得できるようになると思います。

(SELECT SymetraNumber FROM 
(SELECT a.SymetraNumber, c.SymetraNumber 
FROM AgentProductTraining a, AgentContEd c 
WHERE a.LastChangeDate >= @date and c.LastChangeDate >= @date) a )
4

1 に答える 1

4

UNIONまたはUNION ALLここで良いオプションのように見えます:

(
    SELECT SymetraNumber 
    FROM AgentProductTraining a
    WHERE a.LastChangeDate >= @date 
    UNION
    SELECT SymetraNumber 
    FROM AgentContEd c 
    WHERE c.LastChangeDate >= @date
)
于 2012-09-27T15:05:18.373 に答える