我有两个表tbl1和tbl2,其中数据如下所示,我想通过组合两个表来获取数据。
tbl1数据:
SLNO CALENDAR_RNO PLNDHRS STATUS_FLAG
30 64 0.78 0
30 54 0.78 1
30 55 0.78 2
30 70 0.29 0
tbl2数据:
SLNO CALENDAR_RNO PLNDHRS
30 53 0.20
30 54 0.10
30 55 0.70
30 56 0.30
30 58 0.18
30 60 0.70
30 62 0.50
30 66 0.70
30 68 0.90
我想从tbl2获取所有记录并从tbl1获取STATUS_FLAG = 0
的记录。
我尝试了这个查询,但我没有得到确切的
SELECT SLNO,CALENDAR_RNO,PLNDHRS
FROM tbl1 INNER JOIN tbl2 ON tbl1.SLNO = tbl2.SLNO
WHERE tbl2.STATUS_FLAG = 0;`
但是我需要下面给出的表格:
SLNO CALENDAR_RNO PLNDHRS
30 53 0.20
30 54 0.10
30 55 0.70
30 56 0.30
30 58 0.18
30 60 0.70
30 62 0.50
30 64 0.78
30 66 0.70
30 68 0.90
30 70 0.29
帮助我摆脱这个问题。我是MySQL语言的初学者。
答案 0 :(得分:0)
看来你只想把这两个表合并在一起:
SELECT SLNO, CALENDAR_RNO, PLNDHRS
FROM tbl1
WHERE STATUS_FLAG = 0
UNION
SELECT SLNO, CALENDAR_RNO, PLNDHRS
FROM tbl2
该查询会选择tbl2
的所有记录,并且联盟会记录tbl1
STATUS_FLAG = 0
的记录。遗漏了重复。