Главная страница
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.044 c
14-1129987892
SPeller
2005-10-22 17:31
2005.11.13
Стрим-ТВ


2-1130080255
TStas
2005-10-23 19:10
2005.11.13
Почему эдин программно неправильно выделятся?


2-1130268831
dibosh
2005-10-25 23:33
2005.11.13
бот


2-1130078972
muzik@NT!
2005-10-23 18:49
2005.11.13
TCanvas глючит или я?


3-1127385873
Anat
2005-09-22 14:44
2005.11.13
ORACLE DBMS_PIPE need HELP