Получить записи из двух таблиц, используя MySQL JOINS

У меня есть две таблицы 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 Language.

1 ответ

Решение

Кажется, вы просто хотите объединить две таблицы:

SELECT SLNO, CALENDAR_RNO, PLNDHRS 
FROM tbl1
WHERE STATUS_FLAG = 0

UNION

SELECT SLNO, CALENDAR_RNO, PLNDHRS 
FROM tbl2

Запрос выбирает все записи tbl2 и союзы им будут записи tbl1 имеющий STATUS_FLAG = 0, Дубликаты не учитываются.

Демо здесь

Другие вопросы по тегам