【发布时间】:2015-02-20 19:35:26
【问题描述】:
我有 2 张桌子。我正在尝试选择与第二个表中的条件匹配的值。我不确定 JOINS 以及如何“排除” Tbl2.code3excfrom 和 Tbl2.code3excto 之间范围内的代码
因此,SQL 查询将类似于
SELECT Tbl2.code, Tbl1.compcode, Tbl1.value
FROM Tbl1 CROSS JOIN Tbl2
WHERE Tbl1.compcode = 'ABC1' AND (Tbl2.code2incfrom >= Tbl1.code2 AND
Tbl1.code2 <= Tbl2.code2incto) AND (Tbl2.code3incfrom >= Tbl1.code3 AND
Tbl1.code3 <= Tbl2.code3incto) AND NOT (Tbl2.code3excfrom >= Tbl1.code3
AND Tbl1.code3 <= Tbl2.code3excto)
Tbl1
compcode code1 code2 code3 code4 value
-------------------------------------------------
ABC1 CAD 110 11018 FA1199 £3,128.16
ABC1 CAD 115 11518 BABOA1 £92.00
ABC1 CAD 230 23010 ZX123 £150.00
ABC1 CAD 400 40100 CA45 £456.00
ABC1 CAD 600 60018 DA1199 £1,548.00
Tbl2
code compincfrom compincto code2incfrom code2incto code3incfrom code3incto code3excfrom code3excto code4incfrom code4incto
-------------------------------------------------------------------------
LINE_01 AA EZ99999 110 110 * * NULL NULL * *
LINE_02 AA EZ99999 115 115 11500 11519 NULL NULL BA ZZZZZZZZZ
LINE_03 AA EZ99999 230 230 23000 23099 23010 23015 * *
LINE_04 AA EZ99999 400 400 40000 40100 NULL NULL BA ZZZZZZZZZ
LINE_05 AA EZ99999 600 600 * * 60102 60103 BA ZZZZZZZZZ
结果
code compcode value
--------------------------------
LINE_01 ABC1 £3,128.16
LINE_02 ABC1 £92.00
LINE_04 ABC1 £456.00
LINE_05 ABC1 £1,548.00
感谢您的帮助!
【问题讨论】:
-
你能告诉我你的临时表的数据和预期的输出吗?
-
我尝试上传图片,但我没有足够的声望点。有什么建议么?谢谢
-
哦,我的...请以适当的格式将这些内容编辑到原始帖子中,最好插入到子句中。
-
另外,这是 MySQL 还是 SQL Server?
-
谢谢 JamesZ 我如何插入子句?它是 SQL Server。
标签: sql-server