Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
5-1110610847
Elast
2005-03-12 10:00
2005.11.13
ReadOnly for TComboBox


1-1129828333
Dwen
2005-10-20 21:12
2005.11.13
создание и распечатка таблицы из memo


3-1127815972
ANB
2005-09-27 14:12
2005.11.13
(Oracle) Как правильно написать триггер для автоприсвоения ID


14-1129973372
xroot
2005-10-22 13:29
2005.11.13
Волшебная палочка аля photoshop


14-1129995110
Pavel__
2005-10-22 19:31
2005.11.13
Помогите правильно перевести с английского





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский