Slame
Дата: 29.12.2011 20:38:55
Ребят просмотрел кучу тем на этот вопрос но нигде не нашёл точно ответа.
Есть 4 таблицы главные которые не имеют друг с другом ничего общего поэтому я их связал с другими 3 "таблицами связи" где связь везде многие ко многим.Так вот как сделать выборку без повторений ?
Т.е. я хочу сделать запрос который выводит данные как в отчёте. Помогите пжлста)
Slame
Дата: 29.12.2011 21:03:01
Попытаюсь объяснить по лучше.
У меня есть 4 таблицы которые связаны между собой тремя таблицами связи. Сама база данных на тему экскурсии, т.е. у меня есть такие таблицы "Описание экскурсий" "Клиент" "Автобус" "Экскурсовод". Связи везде многие ко многим.
Естесно не во всех экскурсиях есть автобус, т.е. Допустим в 3 из 8 экскурсий используется автобус в остальных -нет.
Я сделал такой запрос SELECT DISTINCT Экскурсия.[Название экскурсии], Автобус.[Марка автобуса], Клиент.[Название организации], Экскурсия.[Тип экскурсии], Экскурсовод.[Фио экскурсовода]
FROM Экскурсия, Автобус, Клиент, Экскурсовод, [Экскурсия-Экскурсовод], [Клиент-экскурсия], [Автобус-Экскурсия]
WHERE (((Автобус.[ГОС номера автобуса])=[Автобус-Экскурсия].[Гос номера автобуса]) And ((Клиент.[Код клиента])=[Клиент-экскурсия].[Код клиента]) And ((Экскурсия.[Шифр экскурсии])=[Клиент-экскурсия].[Шифр экскурсии] And (Экскурсия.[Шифр экскурсии])=[Автобус-Экскурсия].[Шифр экскурсии]) And (Экскурсия.[Шифр экскурсии])=[Экскурсия-Экскурсовод].[Шифр экскурсии]) And ((Экскурсовод.[Id экскурсовода])=[Экскурсия-Экскурсовод].[ID экскурсовода]);
Что вывело мне только те записи в которых есть автобус и оно их повторило по 4 раза.
А я хочу что б выводились даже те записи в которых нет автобуса, и записи не повторялись...
Вот думаю понятно обьяснил.
EvAnd
Дата: 29.12.2011 22:52:43
Когда ещё будете выкладывать код - вверху контролы для его выделения. А в таком виде - он очень трудно воспринимается... Думаю, что очень многие именно из-за этого - даже и не напрягаются. Лень, честно, вникать в "каракули"...