Запрос SQL

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Александр_Т-В
Сообщения: 1
Зарегистрирован: 18 окт 2009, 14:11

Есть проблема в решении запроса:
SELECT Продукция.Name_Tov, Договор_Шапка.ID_Pok, Договор_Шапка.ID_Dogovor, Накладная_Шапка.Number_Nakl, Договор_Табличная_Часть.Kol_vo, Накладная_Табличная_часть.Kol_vo, Продукция.Prise_Opt, Сумма_план.Сумма_по_договору, Сумма_факт.Сумма_по_накладной, (((Договор_Табличная_часть.Kol_vo)*(Продукция.Prise_Opt))-((Накладная_Табличная_часть.Kol_vo)*(Продукция.Prise_Opt))) AS Отклонение
FROM Сумма_план, Сумма_факт, Сумма_план AS Сумма_план_1, Сумма_факт AS Сумма_факт_1, (Продукция INNER JOIN (Договор_Шапка INNER JOIN Договор_Табличная_Часть ON Договор_Шапка.ID_Dogovor = Договор_Табличная_Часть.ID_Dogovor) ON Продукция.ID_Tov = Договор_Табличная_Часть.ID_Tov) INNER JOIN (Накладная_Шапка INNER JOIN Накладная_Табличная_часть ON Накладная_Шапка.Number_Nakl = Накладная_Табличная_часть.Number_Nakl) ON Продукция.ID_Tov = Накладная_Табличная_часть.ID_Tov
WHERE (((Договор_Шапка.ID_Pok)=[Введите код покупателя]));

В результате запроса получаются повторения строк одной и той же продукции несколько раз.. :( Как избежать повторения строк?
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте Александр_Т-В.
Этот вопрос Вы хотели адресовать участникам форума, но просто забыли обратиться или поздороваться, а речь в вопрове о БД MS Access, я угадал ?
Если на странице форума выложить архив с файлом БД, вместо текста SQL конструкции, вероятность получение совета будет больше.
Евгений.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Судя по всему, ты создал лишнее декартово произведение искомых коретежей ещё на чтото, а выводишь без этого лишнего атрибута. Попробуй сгруппировать сразу по всем выводимым атрибутам, глюк должен исчезнуть. И проверь все иннэ джоины.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить