Найти значение, соответствующее дате и сумме между двумя таблицами - PullRequest
0 голосов
/ 29 апреля 2020

Если дата и сумма в двух таблицах совпадают, как я могу сравнить сумму с другой датой, если сумма не на истинную дату?

условие1 Истинно, если дата и сумма соответствуют

Условие 2. Если у вас нет той же суммы на эту дату, найдите сумму, соответствующую предыдущей дате, и если у вас есть совпадающая сумма

условие3 Ложно, если сумма соответствует не соответствует

У меня есть 2 таблицы, одна для t1 и другая для их t2. Это mariaDB

таблица t1:

  id      | date  |     cash_amount_received
----------------------------------
  1        2020-04-01      7000
  2        2020-04-29      1000
  3        2020-04-29      2000
  4        2020-04-29      3000
  5        2020-04-29      4000
  6        2020-04-29      5000
  7        2020-04-29      6000
  8        2020-04-29      10000

таблица t2:

  id      |    date  |    amount
----------------------------------
  1             2020-04-29       1000
  2             2020-04-29       2000
  3             2020-04-29       3000
  4             2020-04-29       4000
  5             2020-04-29       5000
  6             2020-04-29       5000
  7             2020-04-29       7000

Я хочу добиться этого результата:

 id     |  cash_amount_received    |    amount|    result
-----------------------------------------------------
  1          7000                    7000          true
  2          1000                    1000          true
  3          2000                    2000          true
  4          3000                    3000          true
  5          4000                    4000          true
  6          5000                    5000          true
  7          6000                    null          false
  8          10000                   null          false
  9          null                    5000          false

Как я должен заполнить запрос? Не имею представления. Помоги мне.

1 Ответ

0 голосов
/ 01 мая 2020

Я думаю, вам следует создать 2 запроса:
Один для всех согласованных сумм
Один для всех не согласованных сумм.

Согласованный

SELECT t1.date, t1.cash_amount_received
FROM t1, t2
WHERE t1.date = t2.date AND t1.cash_amount_received = t2.amount
ORDER BY t1.date, t1.cash_amount_received

Не согласованный

SELECT t1.date AS t1_date, t1.cash_amount_received, t2.date AS t2_date, t2.amount
FROM t1, t2
WHERE t1.date != t2.date OR t1.cash_amount_received != t2.amount
ORDER BY t1.date, t1.cash_amount_received
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...