我想连接两个表,其中某些行在另一个表中没有值。
这是第一张表:
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
如何实现这一目标?
答案 0 :(得分:1)
反过来说:
...
FROM td_sequence ts
LEFT JOIN history_table ht
ON ts.`tdno` = ht.`TDNO`
...