|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
Здравствуйте друзья,запрос звучит так: Найти покупателей (имя, фамилия), у которых не было промежутков между заказами, превышающих полгода. Выполнил запрос я как то так да и в интернете чужие запросы тоже самые данные мне выводило: Код: sql 1. 2. 3. 4.
НО такой запрос выводит вторую половину Код: sql 1. 2. 3. 4.
когда я вывел данные между датами я вижу такую картину что например: Запрос из первого выводит мне Павла(если тут у меня 2 даты) и второй выводит мне Павла только с датами который соответсвует запросу но (с 4 датами) ''Наверное не что не понятно что я написал'' Задача такова что Найти покупателей (имя, фамилия), у которых не было промежутков между заказами , превышающих полгода. если есть промежуток то он не должен вывести мне этого покупателя ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 19:58 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
Попробуй так select distinct c.ContactName from Customers c left join Orders o on o.CustomerID=c.CustomerID and exists (select * from Orders where OrderDate>DATEADD(MONTH,6,o.OrderDate)) where o.CustomerID is null order by c.ContactName ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 11:30 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
daniel klein, Как эта часть запроса позволит вам найти Покупателей (CustomerID), у которых не было промежутков между заказами, превышающих полгода? Здесь же идет выборка ВСЕХ дат заказов Всех Покупателей Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 11:40 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
Вернее так select c.ContactName from Customers c left join Orders o on o.CustomerID=c.CustomerID and exists (select * from Orders where OrderDate>DATEADD(MONTH,6,o.OrderDate)) group by c.ContactName having count(o.CustomerID)=0 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 11:45 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
maay123, как-то так Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 14:01 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
так чуть лучше Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 14:12 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
godsql,daniel klein, Огромное спасибо за то что отреагировали. С уважением Владимир! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 15:04 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
godsql так чуть лучше Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
А как это все написать тоже самое только без CROSS APPLY возможно ли это ? старался у меня чет не получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 01:01 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 02:03 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
maay123 А как это все написать тоже самое только без CROSS APPLY возможно ли это ? старался у меня чет не получилось Добавь в таблицу заказов поле "Время, прошедшее после последнего заказа" в котором по текущему заказу проставлялось бы обработкой или "при работе" данное значение. далее элементарно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 02:47 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
fkthat, Код: sql 1.
чуть не так надо Код: sql 1.
или Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 12:06 |
|
Помогите с выполнением запроса
|
|||
---|---|---|---|
#18+
godsql fkthat, Код: sql 1.
чуть не так надо Код: sql 1.
или Код: sql 1.
Да, но это уже тонкости, основная идея, я думаю, понятно. К тому же еще и не совсем даже понятно, что считать "промежутком певышающем полгода" - то ли по разнице месяцев в 6, то ли по разнице дней в 365/2. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 13:27 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1685865]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 402ms |
0 / 0 |