我想连接两个表,其中一些行在另一个表中没有值。
这是第一张表:
ID TDNO lotNO area VALUE DATE MEMO
------ ------ ------ ------ --------- ------ --------
100 1 111 100 100.00 2015 ASDASD
101 2 222 100 100.00 2015 SDFSDF
102 3 333 200 100.00 2015 TEST
103 4 444 200 200.00 2015 FOO
104 5 555 330 200.00 2015 BAR
105 100 100 100 11,000.00 2016 100
这是第二张表:
tdno hiid sequence_no
------ ------ -------------
100 qwerty 0
A) 1 qwerty 1
2 qwerty 2
3 qwerty 3
4 qwerty 4
5 qwerty 5
我想要的是加入两个表,但正如您所看到的,另一个表中有一个没有值的行。怎么加入这个?
到目前为止,这是我的疑问:
SELECT
ht.ID,
ht.TDNO,
ht.lotNO,
ht.area,
FORMAT(ht.assess_value, 2) AS 'VALUE',
ht.EFF AS 'DATE',
ht.memoranda AS 'MEMO',
ts.hiid,
ts.sequence_no
FROM
history_table ht
RIGHT JOIN td_sequence ts
ON ts.`tdno` = ht.`TDNO`
WHERE hiid = 'qwerty'
AND sequence_no >= '0'
ORDER BY sequence_no ASC
其结果是:
ID TDNO lotNO area VALUE DATE MEMO hiid sequence_no
------ ------ ------ ------ --------- ------ ------ ------ -------------
105 100 100 100 11,000.00 100 100 qwerty 0
(NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) qwerty 1
101 2 222 100 100.00 2015 SDFSDF qwerty 2
102 3 333 200 100.00 2015 TEST qwerty 3
103 4 444 200 200.00 2015 FOO qwerty 4
104 5 555 330 200.00 2015 BAR qwerty 5
我想要的是这样
ID TDNO lotNO area VALUE DATE MEMO hiid sequence_no
------ ------ ------ ------ --------- ------ ------ ------ -------------
105 100 100 100 11,000.00 100 100 qwerty 0
100 A) 1 111 100 100.00 2015 ASDASD qwerty 1
101 2 222 100 100.00 2015 SDFSDF qwerty 2
102 3 333 200 100.00 2015 TEST qwerty 3
103 4 444 200 200.00 2015 FOO qwerty 4
104 5 555 330 200.00 2015 BAR qwerty 5
如何做到这一点?
发布于 2018-06-14 04:31:53
例如,它可以看起来像
FROM table1
JOIN table2 ON table1.TDNO = SUBSTRING_INDEX(table2.tdno, ' ', -1)
https://dba.stackexchange.com/questions/209626
复制相似问题