Таблица A содержит текущие значения ValueA
и ValueB
:
Token ValueA ValueB
ABC SHOP Val1
DEF SHOP Val2
GHI SHIPP Val3
JKL SHIPP Val2
В таблице B есть все переходы данных:
Token Value Value2 Date Express
ABC SHOP Val1 2020-01-01 Yes
ABC. SHOP Val2 2020-02-01 Yes
ABC SHIPP. Val3 2020-03-01 Yes
DEF SHOP Val1 2020-05-01 No
DEF SHIPP Val2 2020-04-01 No
DEF SHIPP. Val3 2020-03-01 No
Я ожидаю, что мой результат должен включать последние данные из таблицы А, но с указанием c даты из таблицы В:
Token ValueA Val1 Date Val2 Date
ABC SHOP . 2020-01-01 2020-02-01
DEF SHOP 2020-05-01. 2020-04-01
GHI SHIPP NULL NULL
JKL SHIPP NULL NULL
Мой запрос не возвращает результат, как я ожидал:
SELECT a.token,
A.valueA,
A.valueB,
B.Express
c.Date "SHOP DATE",
d.Date “SHIP DATE"
FROM TableA A
LEFT JOIN TABLEB B ON A.Token = B.Token
LEFT JOIN TABLEB C ON A.Token = B.Token
LEFT JOIN TABLEB D ON A.Token = B.Token
WHERE (c.value = ‘SHOP’ AND c.value2 = ‘Val1’)
AND (c.value = ‘SHIP’ AND c.value2 = ‘Val13)
GROUP BY a.token
ORDER BY b.date DESC;
Результат запроса:
Token ValueA Val1 Date Val2 Date
ABC SHOP . 2020-01-01 2020-02-01
DEF SHOP 2020-05-01. 2020-04-01