Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
Доброй ночи, уважаемые форумчане! Нужна небольшая помощь в дописании дополнительного запроса. Имеются 2 таблицы (Customers, Orders) Customers cust_id10000000011000000002100000000310000000041000000005 Orders order_numcust_id20005 1000000001 20006 100000000320007 100000000420008 100000000520009 1000000001 Первоначальный запрос выглядит следующим образом: Код: sql 1. 2. 3. 4. 5. По этим данным извлекается запрос: сколько заказов (num_ord) сделал каждый из клиентов (cust_id). # cust_id num_ord'1000000001' '2''1000000002' '0''1000000003' '1''1000000004' '1''1000000005' '1' Нужно составить дополнительный запрос count (), который смог бы посчитать - сколько человек не сделали ни одного заказа. Т.е. на выходе должно быть число 1 (клиент 1000000002). Желаемый результат ne zakazali1 При манипуляциях с созданием подзапроса получаются ошибки 1052 и 1241 Error Code: 1052. Column 'cust_id' in field list is ambiguous 0.000 sec Error Code: 1241. Operand should contain 1 column(s) 0.000 sec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 02:09 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
Ну так возьми таблицу, получившуюся в первом запросе. и выведи count(# cust_id) where num_ord=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 02:27 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
taira sanНужно составить дополнительный запрос Плохая практика. Рекомендую каждый запрос строить с нуля, не глядя на уже имеющееся (ну разве что учитывая подходы, но и то с оглядкой). Запрос получится проще и легче. Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 07:53 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
авторWHERE orders.cust_id IS NULL А он точно выполнит это условие после формирования итоговой(соединенной) таблицы, а не до того? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 11:33 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
982183А он точно выполнит это условие Нет, блин, приблизительно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 13:14 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
Akina, Благодарю Вас, все получилось! Вместо того, чтобы думать, куда запихнуть дополнительный count() - оказалось гораздо проще переписать запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 13:15 |
|
||
|
Помогите дописать недостоящий запрос
|
|||
|---|---|---|---|
|
#18+
982183, Через count (customer.cust_id) where num_ord = '0' много раз пытался, но хз куда его было засунуть во-первых, а во-вторых mysql ругался, что мой запрос либо двусмысленный, либо по первому запросу намечается вывод 2 таблиц (клиенты и сколько у них заказов), а подзапросом count (customer.cust_id) where num_ord = '0' я собираюсь выводить одну таблицу, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2017, 13:24 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39386037&tid=1830992]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 139ms |

| 0 / 0 |
