[英]Merge two tables with same data structure then join to another table
這兩個表具有相同的數據結構:
issues: old_issues:
|id|itemno|issuedate | |id|itemno|issuedate |
|1 |200 |2018-02-01| |1 |200 |2017-12-21|
|2 |300 |2018-02-03| |2 |200 |2017-12-20|
|3 |200 |2018-02-02| |3 |400 |2016-05-09|
|4 |500 |2016-07-10|
我想將這兩個表合並為一個new_issues
表,然后將其連接到另一個如下表:
items:
|itemnumber|location|ccode|
|200 |DEP |ARACD|
|300 |DEP |ARACD|
|400 |SYD |ARACD|
|500 |DEP |DVD |
但是我只想通過如下查詢選擇items
:
SELECT * FROM items WHERE location = 'DEP' AND ccode = 'ARACD'
並選擇符合以下條件的new_issues
:
SELECT * FROM new_issues WHERE issuedate < '2018-01-01'
這是我嘗試過的方法,但是由於問題表中有數百萬行,因此它似乎永遠掛在那里加載:
SELECT i.itemno, new_issues.issuedate
FROM (SELECT * FROM issues UNION SELECT * FROM old_issues) AS new_issues
RIGHT JOIN items i ON i.itemno = new_issues.itemno
WHERE i.ccode = 'ARACD' AND i.location = 'DEP' AND new_issues.issuedate < '2018-01-01'
不知道這是您要找的內容,但是您嘗試過UNION SELECT
嗎?
SELECT * FROM newitems WHERE location = 'DEP' AND ccode = 'ARACD'
UNION SELECT * FROM olditems WHERE location = 'DEP' AND ccode = 'ARACD' GROUP BY itemno
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.