SELECT sh.Nr_V,
tt.journalnumber,
sh.journalnumber_end,
sh.journalnumerstart
FROM transactiontable tt
LEFT JOIN salesheader sh
ON tt.journalnumer between sh.journalnumerstart
AND sh.journalnumber_end;
以上显示了我关于将所有Nr_V
加入我的transactiontable
的想法。
所以我想要 journalnumberstart
和 journalnumber_end
之间的所有值,并使用它们加入我的transactiontable
.这是不可能的,我无法加入工作!这个想法是查看从salesheader
连接到我的transactiontable
Nr_V
- 问题是在两列之间的范围内查找journalnumber
。
销售标题
Nr_V JournalnumberStart JournalNumberEnd
100 1001002 1003000
101 1003001 1004000
销售翻译
Journalnumber
1001004
1001005
1003032
输出表
Nr_V JournalNumber
100 1001004
100 1001005
101 1003032
因此,我们想要的是查找SalesHeader的范围,以便获得SalesTransaction和SalesHeader之间的关系!请记住,我的事务表中有 600 万行!和我的销售标题表中的 50000 行。
也许这样的事情会起作用:
SELECT sh.Nr_V,
tt.JournalNumber
FROM SalesTransaction tt
LEFT JOIN SalesHeader sh ON
(tt.Journalnumber > sh.JournalnumberStart)
AND
(tt.Journalnumber < sh.JournalNumberEnd)
ORDER BY sh.Nr_V, tt.JournalNumber
示例 SQL 小提琴
试试这个
SELECT sh.nr_v,
st.journalnumber
FROM salesheader sh
LEFT JOIN salestransaction st
ON st.journalnumber BETWEEN sh.journalnumberstart AND
sh.journalnumberend;
小提琴