我尝试运行查询并将查询结果存储在临时表中,然后将查询联合到将加入该表的第一个查询。
到目前为止我的代码看起来像这样 -
SELECT * FROM
(WITH tmp2 AS
(SELECT *
FROM prod_trkg_tran ptt
WHERE ptt.menu_optn_name = 'RF Split/Comb {Carton}'
AND ptt.cntr_nbr = '0031195609'
)
SELECT * FROM prod_trkg_tran
)
UNION
SELECT *
FROM prod_trkg_tran ttp
INNER JOIN tmp2 -- This doesn't work
ON ttp.tran_nbr = tmp2.tran_nbr
WHERE ttp.menu_optn_name = 'RF Split/Comb {Carton}'
AND ttp.cntr_nbr <> '0031195609'
很抱歉,肯定会更清楚 - 我尝试使用tran_nbr只使用cntr_nbr查找该tran_nbr下的所有记录,还有其他记录使用tran_nbr但具有不同的cntr_nbrs。我从代码中得到的错误是tmp2不存在。
非常感谢任何帮助:)
7&#39; S
答案 0 :(得分:1)
试试这个:
WITH tmp2 AS
(SELECT *
FROM prod_trkg_tran ptt
WHERE ptt.menu_optn_name = 'RF Split/Comb {Carton}'
AND ptt.cntr_nbr = '0031195609'
)
SELECT * FROM tmp2
UNION
SELECT *
FROM prod_trkg_tran ttp
INNER JOIN tmp2
ON ttp.tran_nbr = tmp2.tran_nbr
WHERE ttp.menu_optn_name = 'RF Split/Comb {Carton}'
AND ttp.cntr_nbr <> '0031195609'