Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос / 5 сообщений из 5, страница 1 из 1
27.01.2004, 06:51
    #32388498
pasm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос
Допустим есть 2 таблицы: Таблица "Клиенты" с полями "ID" и "Имя" и таблица "Заказы" с полями "ID" и "Заказ". Поля "ID" в таблицах связаны. У одного клиента может быть много заказов, а может быть что у клиента нет ни одного заказа. Нужно сделать запрос который бы вывел всех клиентов, независимо есть ли у него заказы или нет, и количество его заказов.

Помогите пожалуйста, замаялся уже. Всё время результат ограничивается только теми у кого есть заказы.
...
Рейтинг: 0 / 0
27.01.2004, 09:17
    #32388556
Pritorian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос
left join пользуй а не inner! И вообще забей Constraint'ы
...
Рейтинг: 0 / 0
27.01.2004, 15:44
    #32389314
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос
Код: plaintext
1.
SELECT * FROM `КЛИЕНТЫ` a LEFT JOIN `ЗАКАЗЫ` b ON a.id=b.id

Для тех клиентов у которых нет заказов все поля таблицы b будут иметь значение NULL. Соответственно COUNT(*) выдаст результат 1 для тех у кого заказов нет! Для решения используй SUM и IF или ISNULL и т.д.
mahoune
...
Рейтинг: 0 / 0
29.01.2004, 06:28
    #32391680
pasm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос
Спасибо за ответ. У меня есть продолжение этого вопроса. Допустим есть ещё 3я таблица, аналогичная второй, но с другим содержимым. Нужно сформировать большую таблицу со всеми клиентами, количеством их заказов и количеством связанных элементов из 3й таблице. Можно это сделать без промежуточного запроса? Если да то как?
...
Рейтинг: 0 / 0
29.01.2004, 10:25
    #32391859
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос
Как советует дока по MySQL быстрее будет работать промежуточная временная таблица или использование HAVING.

mahoune
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]