Tsql 从两个不同的表T-SQL中选择相同的列
我需要从两个不同的表中获取一个名为SymNumber的列。两者都将使用类似的标准进行选择。下面是我到目前为止所做的,但它不起作用Tsql 从两个不同的表T-SQL中选择相同的列,tsql,Tsql,我需要从两个不同的表中获取一个名为SymNumber的列。两者都将使用类似的标准进行选择。下面是我到目前为止所做的,但它不起作用 DECLARE @date datetime SELECT @date = LastChangeDate FROM QueueUpdates SELECT DISTINCT u.CompanyCode, u.AgentId FROM SymNumberToAgentId u, AgentIdToTradingPartner a, TradingPartner t
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 )
或者UNION ALL
在这里看起来是不错的选择:
(
SELECT SymetraNumber
FROM AgentProductTraining a
WHERE a.LastChangeDate >= @date
UNION
SELECT SymetraNumber
FROM AgentContEd c
WHERE c.LastChangeDate >= @date
)
或者UNION ALL
在这里看起来是不错的选择:
(
SELECT SymetraNumber
FROM AgentProductTraining a
WHERE a.LastChangeDate >= @date
UNION
SELECT SymetraNumber
FROM AgentContEd c
WHERE c.LastChangeDate >= @date
)