Главная страница
    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.054 c
10-1107329735
Мыкола Бондаренко
2005-02-02 10:35
2005.11.13
WinFax Pro


14-1129786438
Udaff
2005-10-20 09:33
2005.11.13
ТВ-тюнер


14-1130049230
SergP.
2005-10-23 10:33
2005.11.13
Посоветуйте стабильный ICQ-клиент


14-1129960960
Starcom
2005-10-22 10:02
2005.11.13
Софтина для печати фотографий размером 3,5 на 4,5 мм!


3-1128063747
Shc
2005-09-30 11:02
2005.11.13
Как вставить tdbrichedit в сетку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский