|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
необходимо вычислить фирмы (ИНН) которые совершают закупки в нерабочее время и ни когда не совершают в рабочее время в один запрос у меня получается только в три 1 запрос создает таблицу фирм (ИНН) которые совершали закупки в нерабочее время после 17:00:00: SELECT Лист5.Дата, Лист5.время, Лист5.ИНН INTO [нерабоч время] FROM Лист5 WHERE (((Лист5.время)>#12/30/1899 17:0:0#)); 2 запрос создает таблицу фирм (ИНН) которые совершали закупки в рабочее время не позднее 17:00:00: SELECT Лист5.Дата, Лист5.время, Лист5.ИНН INTO [рабоч время] FROM Лист5 WHERE (((Лист5.время)<=#12/30/1899 17:0:0#)); 3 запрос показывает какие фирмы (ИНН) совершают закупки автор в нерабочее время и ни когда не совершали в рабочее время: SELECT [нерабоч время].ИНН, Count([нерабоч время].Дата) AS [Count-Дата] FROM [нерабоч время] LEFT JOIN [рабоч время] ON [нерабоч время].ИНН = [рабоч время].ИНН WHERE ((([рабоч время].ИНН) Is Null)) GROUP BY [нерабоч время].ИНН; ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 01:26 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 01:53 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
__Michelle, Спасибо огромное, все получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 10:57 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
__Michelle, Засада!!! При запросах я не учел выходные дни, где все время считается не рабочим, Возможно ли учесть выходные дни в этом запросе? SELECT DISTINCT ИНН FROM Лист5 WHERE Hour(время)>17 AND DLookUp("ИНН","Лист5","ИНН=" & ИНН & " AND Hour(время)<=17") Is Null; ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 11:19 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
__Michelle, Вроде получилось вот так SELECT DISTINCT Лист5.ИНН, Count(Лист5.Дата) AS [Count-Дата] FROM Лист5 WHERE (((Weekday([Дата]))<>7 Or (Weekday([Дата]))=1 Or ((Weekday([Дата]))=7 Or (Weekday([Дата]))=1))) GROUP BY Лист5.ИНН, Hour([время]), DLookUp("ИНН","Лист5","ИНН=" & [ИНН] & " AND Hour(время)<=17") HAVING (((Hour([время]))>17) AND ((DLookUp("ИНН","Лист5","ИНН=" & [ИНН] & " AND Hour(время)<=17")) Is Null)) OR (((DLookUp("ИНН","Лист5","ИНН=" & [ИНН] & " AND Hour(время)<=17")) Is Null)); ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 11:33 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
__Michelle, нет не получается нужна помощь как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 12:26 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
Юрий_74, ну вы и нагородили, коллега! Код: plsql 1.
В вольном изложении это условие звучит так: НЕ суббота или суббота или воскресенье или еще раз воскресенье. Что вы хотите отобрать? Кстати, у Weekday есть 2-й аргумент - начало недели. Если указать 2 (vbMonday), то выходные будут 6 и 7. Код: sql 1.
Уж не знаю, зачем группировать по часу, но нафига по DLookUp? HAVING у вас тоже отбирает тех, кто закупал только после 17 и тех, кто мог вообще ничего не закупать. Кстати, условие "все, кто закупал только после 17 или в выходные" вернет вам все фирмы, кто закупал хоть 1 раз в выходные, в т.ч. и тех, кто и в будни до 17. Попробуйте так: Код: sql 1. 2. 3. 4.
Надеюсь, у вас в поле [время] указано только время, иначе нужно так: HAVING HOUR(MIN(IIF(Weekday([Дата], 2) < 6, [время], #17:01#))) > 17 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 12:52 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), класс!!! все получилось Спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 13:15 |
|
помогите обьеденить три запроса в один
|
|||
---|---|---|---|
#18+
Юрий_74, Посмотрите это (пишу по памяти с планшета, могут быть неточности): Код: sql 1. 2. 3. 4.
Но еще ведь есть праздники. О них подумайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 13:30 |
|
|
start [/forum/topic.php?fid=45&msg=39496612&tid=1612230]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 294ms |
total: | 469ms |
0 / 0 |