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

Вниз

Вопрос по SQL запросу   Найти похожие ветки 

 
alpine   (2005-10-02 17:32) [0]

Есть вде таблицы tovar.db и zakupka.db. Они связаны по полю KOD.  Таблица товар используется при покупке товара, после покупки даные попадают в таблицу закупка  (в таблице товар поля количесто, сумма обнуляются после покупки). Теперь мне нужно добавить поле наличие в грид товара, которое соответственно равна сумме количества в закупке. Делаю такой sql запрос
"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,T.KOLICHESTVO,T.SUMMA,SUM(Z.KOLICHESTVO) from "tovar.db" T, "Zakupka.db" Z Where T.Deleted=false AND Z.Deleted=false AND T.KOD like Z.KOD " 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,T.KOLICHESTVO,T.SUM MA"

Всё вроде работает нормально, но мне нужно чтоб он выдавал из таблицы tovar.db все записи а он выдаёт только те которые были закуплены (zakupka.db)


 
msguns ©   (2005-10-02 18:17) [1]

Вместо Where используй Left Join On ..


 
alpine   (2005-10-02 18:34) [2]

2 msguns

Огромное спасибо за отзыв !

Да записи все появляются .. Но теперь такая проблемма , появляются и удалённые записи, то есть те записи у которых поле DELETED=TRUE ... Как быть ?


 
msguns ©   (2005-10-02 19:11) [3]

1. Есть подозрение, БД спроектирована чисто по-любительски, ибо не видно в упор объектов типа "Документ" и имеется поле DELETED непонятного происхождения и назначения.
2. Если все ж таки это поле типа признак того, что товар удален/не удален (хотя єто делается отнюдь не так), то что мешает встромить в условие выборки проверку єтого поля ?


 
alpine   (2005-10-02 19:22) [4]

Поле DELETED это признак того, что товар удален/не удален.
Сделал вот так ...
"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,T.KOLICHESTVO,T.SUMMA,SUM(Z.KOLICHESTVO) from "tovar.db" T LEFT JOIN "Zakupka.db" Z ON T.Deleted=false AND Z.Deleted=false AND T.KOD=Z.KOD  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,T.KOLICHESTVO,T.SUM MA"

А появляются в результате и удалённые записи хотя T.Deleted=false AND Z.Deleted=false


 
msguns ©   (2005-10-02 19:26) [5]

Не туда всобачил ;)

Схема запроса:

SELECT 1.F1,1.F2,..,2.F1,2.F2..
  FROM TABLE1 1 LEFT JOIN TABLE2 2 ON (1.ID=2.ID)
 WHERE NOT 1.DELETED AND NOT 2.DELETED


 
alpine   (2005-10-02 19:58) [6]

ОГРОМНОЕ СПАСИБО!



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

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

Наверх




Память: 0.48 MB
Время: 0.069 c
2-1129548791
dreamse
2005-10-17 15:33
2005.11.13
Проблема с составлением фильтра


2-1130096590
redlord
2005-10-23 23:43
2005.11.13
ХЕШ код строки


2-1129469248
Megabyte
2005-10-16 17:27
2005.11.13
Вопрос по IBX


2-1129849272
DimonS
2005-10-21 03:01
2005.11.13
Кто работал с FastReport? Есть вопросик.


4-1126532696
vishnia
2005-09-12 17:44
2005.11.13
Переключение языков