Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2016, 15:46   #11
nintiniom
Пользователь
 
Аватар для nintiniom
 
Регистрация: 05.09.2016
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
для этого существуют именные JOIN-ы, чтоб было однозначно видно, откуда что берется.
именные?

ну .. пока то что есть с тем и разбираюсь ...
nintiniom вне форума Ответить с цитированием
Старый 05.09.2016, 16:15   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

alias'ы если быть точным.
join table as altname on altname.field = ...
и все остальные обращения тоже через altname, тогда не мешает совпадение имен полей.(судя по комиентарию у вас это вышло...хотя разве БД не должна фейлится на этом? О_о)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.09.2016, 16:25   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
совпадение имен полей.(судя по комиентарию у вас это вышло...хотя разве БД не должна фейлится на этом? О_о)
алиасы - это правильно и хорошо. Их использовать крайне желательно.

Но в данном случае, имхо, дело не в совпадении имён полей.
Тогда бы запрос просто не работал.
А наличие нескольких одинаковых строк (утроение) в результатах запроса говорит о том, что какая-то связь по JOIN не даёт связку, которая позволяет идентифицировать запись.

Чтобы разобраться в этом нужно:
1) посмотреть структуру всех трёх таблиц (особенно поля связи)
2) нужно смотреть на конкретные данные.

я бы начал с того, чтобы убрал GROUP BY FLBCFS1,
написал ORDER BY FLBCFS1
и вместо SELECT FLBCFS1, max(FLTRQT) FROM
написал
SELECT * FROM

и посмотрел, почему там идёт утроение строк и что нужно сделать, чтобы его убрать.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.09.2016, 16:45   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
в результатах запроса говорит о том, что какая-то связь по JOIN не даёт связку, которая позволяет идентифицировать запись.
скорее связка не уникальна выходит.

блин, давно я в базах не сидел =D
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.09.2016, 16:53   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
скорее связка не уникальна выходит.
точно так!

Цитата:
блин, давно я в базах не сидел =D
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.09.2016, 09:59   #16
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Можно даже сказать какое поле НЕ дает выбрать уникальное.
Цитата:
выбираю через максимальное значение - только в тех строках где есть несколько партий естественно выдает максимальное значение
и
Цитата:
SELECT FLBCFS1, max(FLTRQT) FROM
БЕЗ алиаса для max() означает что в JOIN НЕТ связки с этим самым max(FLTROT)
и значит НА САМОМ деле НЕТ никай выборки "через максимальное"
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать коментарии к двум строкам строкам в программе на VBA Yurec2407 Помощь студентам 2 30.01.2015 12:54
Много ComboBox-ов с одинаковым диапазоном Tigranik Microsoft Office Excel 2 30.01.2013 17:10
написать программу которая вводит по строкам с квеатуры двумерные массивы и вычисляет сумму его элементов по строкам таня99 Паскаль, Turbo Pascal, PascalABC.NET 3 23.05.2012 20:23
Одинаковым данным-одинаковый номер! Любопытная Microsoft Office Excel 16 03.08.2011 10:16
Двухмерный массив данных - поиск максимального, сумма по строкам (используя StringGrid в Delphi) Ленуся)) Помощь студентам 1 21.06.2011 13:21