Назовите неделю из другой таблицы, чтобы выбрать - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь получить недельный диапазон 3 недели назад от текущей недели, установленной в другой таблице.

Текущая неделя настроена в столбце 'c1' в таблице t_whse_control, и я просматриваю результаты за 3 недели в столбце week для таблицы t_po_master.

Я пытался объединить две таблицы, но я не получаю результаты.

SELECT * 
FROM t_po_master pom
INNER JOIN t_whse_control whc 
ON pom.wh_id = whc.wh_id
WHERE whc.control_type = 'ACTIVE_INV_WEEK'

t_whse_control

control_type           desc              c1

ACTIVE_INV_WEEK        abcdefg           201919

t_po_master

Po_id                      po_number         status          week

1                            123456              C         201919
2                            234567              C         201918
3                            56789               C         201919

1 Ответ

0 голосов
/ 18 мая 2019

Если вы пытаетесь создать отношение, которое уходит на три недели назад, вы можете использовать предложение DATEADD, чтобы добавить отрицательные три недели к вашему запросу. Результат будет выглядеть примерно так:

SELECT * 
FROM t_po_master pom
INNER JOIN t_whse_control whc 
ON pom.wh_id = whc.wh_id
WHERE whc.control_type = 'ACTIVE_INV_WEEK'
AND pom.week = DATEADD(WEEK, -3, pom.week)

Столбец pom.week можно заменить другим столбцом DATETIME, если это необходимо, но недостаточно сценариев, чтобы сделать какие-либо предположения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...