Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Проблемма с SQL запросом.   Найти похожие ветки 

 
alpine   (2005-10-05 13:57) [0]

Делаю запрос
Select T.KOD,T.FULLNAME,T.GRUP,T.EDIZM,T.SEASON,T.COUNTRY,T.ORGIN,T.PIC,T.CZrub,T.CZye,T.NAZENKA,T.KURS,T.OLDCZrub,T.DATAOLDCZ, T.REALIS,T.CP1rub, T.CP1ye,T.OLDCP1rub,T.DATAOLDCP1,T.CP2rub,T.CP2ye,T.NAZENKA2,T.CP3rub,T.CP3ye,T.NAZENKA3,T.SERTIFICATE,T.GTD,T.GUARANTEE ,T.DOP,T.INFO,Z.KOLICHESTVO,Z.ID_SCHETA,Z.NUM_SCHETA,Z.OTKUDA,Z.KUDA,Z.DATA,Z.NOTE,Z.SUMMA,SUM(Z.KOLICHESTVO) from "tovar.db" T, "Zakupka.db" Z Where Z.KOD=T.KOD AND Z.ID_SCHETA="+DMFrm.ZAKUPKAQUERY.FieldByName("ID_SCHETA").AsString+"GROUP BY T.KOD,T.FULLNAME,T.GRUP,T.EDIZM,T.SEASON,T.COUNTRY,T.ORGIN,T.PIC,T.CZrub,T.CZye,T.NAZENKA,T.KURS,T.OLDCZrub,T.DATAOLDCZ, T.REALIS,T.CP1rub, T.CP1ye,T.OLDCP1rub,T.DATAOLDCP1, T.CP2rub,T.CP2ye,T.NAZENKA2,T.CP3rub,T.CP3ye,T.NAZENKA3,T.SERTIFICATE,T.GTD,T.GUARANTEE,T.DOP,T.INFO,Z.KOLICHESTVO,Z.ID_ SCHETA,Z.NUM_SCHETA,Z.OTKUDA,Z.KUDA,Z.DATA,Z.NOTE,Z.SUMMA"

Выводит всё нормально, а вот SUM(Z.KOLICHESTVO) не работает ! То есть не подсчитывает одинаковый товар во все базе. ПОМОГИТЕ !


 
ANB ©   (2005-10-05 14:17) [1]


> alpine   (05.10.05 13:57)

1. Убери +DMFrm.ZAKUPKAQUERY.FieldByName("ID_SCHETA").AsString+ (замени на параметр)
2. Запрос не корректно запостен (не вижу агрегирования по sum)
3. Не считает из-за набора полей в group by, какое то поле мешает (разное при одинаковом товаре)


 
Sergey13 ©   (2005-10-05 14:27) [2]

2 alpine   (05.10.05 13:57)
Запрос неправильный. В группировке учавствует поле Z.KOLICHESTVO по которому ты еще и сумму считаешь. Это фигня. Странно, что вообще отрабатывает. И вообще из таблицы "Zakupka.db" Z не должно быть столько полей. У них же практически всегда разная комбинация значений.


 
alpine   (2005-10-05 14:54) [3]

2 Sergey13

В группировке учавствует поле Z.KOLICHESTVO по которому ты еще и сумму считаешь. Это фигня.

Вы правы !


 
alpine   (2005-10-05 14:59) [4]

А нельзя сделать такой запрос , чтобы он вывел все записи с таблицы ТОВАР, а не только те которые соответствуют с закупки ? Чтоб и те и те были ...


 
msguns ©   (2005-10-05 15:00) [5]

Зубодробительный запрос ;)
А имена полей и таблиц !?
Повбывав бы


 
Sergey13 ©   (2005-10-05 15:02) [6]

2[4] alpine   (05.10.05 14:59)
Про Join-ы смотри в справке.


 
evvcom ©   (2005-10-05 16:05) [7]


> (не вижу агрегирования по sum)

Оно есть. С полосой прокрутки надо поиграться. А вообще реклама кое-что закрывает.


 
Desdechado ©   (2005-10-05 16:15) [8]

>  вывел все записи с таблицы ТОВАР, а не только те которые соответствуют с закупки
попробуй использовать UNION


 
alpine   (2005-10-05 16:16) [9]

Покажите кто-нибудь на примере плиззз ...


 
evvcom ©   (2005-10-05 16:22) [10]

select ...
from ТОВАР t
left join ЗАКУПКА z
on z.id=t.id


 
alpine   (2005-10-05 16:41) [11]

сделала так

Select T.KOD,T.FULLNAME,T.GRUP,T.EDIZM,T.SEASON,T.COUNTRY,T.ORGIN,T.PIC,T.CZrub,T.CZye,T.NAZENKA,T.KURS,T.OLDCZrub,T.DATAOLDCZ,  T.REALIS,T.CP1rub, T.CP1ye,T.OLDCP1rub,T.DATAOLDCP1,T.CP2rub,T.CP2ye,T.NAZENKA2,T.CP3rub,T.CP3ye,T.NAZENKA3,T.SERTIFICATE,T.GTD,T.GUARANTEE  ,T.DOP,T.INFO,Z.KOLICHESTVO,Z.ID_SCHETA,Z.NUM_SCHETA,Z.OTKUDA,Z.KUDA,Z.DATA,Z.NOTE,Z.SUMMA,SUM(Z.KOLICHESTVO) from "tovar.db" T LEFT JOIN "Zakupka.db" Z ON (Z.KOD=T.KOD) Where Z.ID_SCHETA="+DMFrm.ZAKUPKAQUERY.FieldByName("ID_SCHETA").AsString+"GROUP BY T.KOD,T.FULLNAME,T.GRUP,T.EDIZM,T.SEASON,T.COUNTRY,T.ORGIN,T.PIC,T.CZrub,T.CZye,T.NAZENKA,T.KURS,T.OLDCZrub,T.DATAOLDCZ,  T.REALIS,T.CP1rub, T.CP1ye,T.OLDCP1rub,T.DATAOLDCP1, T.CP2rub,T.CP2ye,T.NAZENKA2,T.CP3rub,T.CP3ye,T.NAZENKA3,T.SERTIFICATE,T.GTD,T.GUARANTEE,T.DOP,T.INFO,Z.KOLICHESTVO,Z.ID_  SCHETA,Z.NUM_SCHETA,Z.OTKUDA,Z.KUDA,Z.DATA,Z.NOTE,Z.SUMMA"

Всё равно не выводит все записи из таблиы ТОВАР


 
Sergey13 ©   (2005-10-05 17:00) [12]

Попробуй хоть как-то форматировать свои запросы. Это не только читаемость улучшает, но и мысли иногда в порядок приводит. И ошибки еще, которые уже якобы исправили ([3]), переписывать заново не следует.


 
msguns ©   (2005-10-05 17:37) [13]

Вот здесь
http://delphimaster.net/view/3-1128259959/
тебе ведь все было понятно.

К указанной схеме надо просто добавить агрегаты

Сколько можно своего монстера показывать - народ же со страху поразбегается ;))

А вообще привыкай для описания траблы использовать схемы с несколькими простыми полями, ибо совершенно нечитабельно и прежде чем разобраться в сути, надо как по углям пршагать по всем товом KOLICHECTV`ам ;))


 
ANB ©   (2005-10-05 17:38) [14]


> alpine   (05.10.05 16:41) [11]
- записей вообще нету или не все ? Или не работает группировка ?
Если 1, то плохая связка (коды не равны), если 2 - то объясни, что лежит в закупках. Имхо, поля закупок в Group By тебе все ломают. И логика непонятна - зачем тебе выводить поля из закупок, если ты суммируешь количество по товару.


 
alpine   (2005-10-05 18:07) [15]

2 msguns

Это не моё было .. Я доделываю программу .. Меня сказали ничего не надо !

Я её и так и сяк, но она зараза не выводит так, как надо .. Не выводит все записи с таблицы ТОВАР !


 
evvcom ©   (2005-10-06 08:58) [16]


> Не выводит все записи с таблицы ТОВАР !

И не выведет. Вот этот фильтр:

> Where Z.ID_SCHETA="+DMFrm.ZAKUPKAQUERY.FieldByName("ID_SCHETA").
> AsString

их отсеивает. Ты уж определись, надо все записи или все же надо их фильтровать.



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.046 c
14-1128783936
Piter
2005-10-08 19:05
2005.10.30
Сборная России - сборная Люксембурга


14-1128526612
kami
2005-10-05 19:36
2005.10.30
Посоветуйте что-нибудь по БД


1-1128579111
XfroSt
2005-10-06 10:11
2005.10.30
Ссылки на типы данных


14-1128540143
Kerk
2005-10-05 23:22
2005.10.30
Достали спамеры!


3-1127245879
highlander
2005-09-20 23:51
2005.10.30
Как настроить DBLookUpCombobox