我有两个表格完全相同的布局,但有不同的数据(一个是当前的,一个是历史记录)。
如何从两个表中提取信息?
PSUDO SQL:
SELECT
T.TRANS_QUAN,
P.PONO, D.ID
FROM
TRANSLOG T, (select * from PO, PO_HIST) P, (SELECT * FROM PO_DETAIL, PO_DETAIL_HIST) D
WHERE
D.PO_ID = P.ID
AND T.SOURCE_ID = D.ID
当我尝试实际运行时,我得到“列模糊定义”
答案 0 :(得分:2)
你可以使用UNION子句。
尝试:
SELECT
T.TRANS_QUAN,
P.PONO, D.ID
FROM
TRANSLOG T,
(
SELECT * FROM PO
UNION
SELECT * FROM PO_HIST
) P,
(
SELECT * FROM PO_DETAIL
UNION
SELECT * FROM PO_DETAIL_HIST
) D
WHERE
D.PO_ID = P.ID
AND T.SOURCE_ID = D.ID
答案 1 :(得分:0)
(select * from PO, PO_HIST) P
此子查询可能会共享一个共同列名的表的交叉连接。
也许你想要:
Select t.trang_quan
, p.pono
, d.id
from translog t
inner join po_detail d
on d.id = t.source_id
cross join po_detail_hist
inner join po p
on p.id = d.po_id
cross join po_hist p2
您确定要进行交叉连接吗?