Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Вниззапрос не работает Найти похожие ветки
← →
td (2003-04-14 08:44) [0]пишу так:
DataMod.GridQuery.SQL.Add("SELECT M3veds.ID, M3veds.DEL, M3veds.STAND, M3veds.INKLASS, M3veds.IZM1, M3inkls.kst, M3inkls.InklassCode "+
" FROM "M3veds.db" M3veds "+
" LEFT JOIN "M3inkls.db" M3inkls "+
" ON (M3veds.KLASSID = M3inkls.kst) WHERE (M3INKLS.INKLASSCODE = ""51"" ");
M3veds - большая таблица, M3inkls - дочерняя (один ко многим)
У меня делается выборка (записей попадает меньше), но совершенно неверно. Не могу понять в чем ошибка.
Спасибо!
← →
Соловьев (2003-04-14 09:23) [1]left join - все записи из главной + те которые есть в подчиненной
join - только те что есть и там и там.
← →
ЮЮ (2003-04-14 12:27) [2]Если возвращает выборку, значит работает :-)
Если возвращает не то, значит неправильно составлен. Что ты хочешь получить из этих двух таблиц?
← →
td (2003-04-15 09:07) [3]Мне нужны записи главной, к которой привязаны записи из подчиненной где у подчиненной (M3INKLS.INKLASSCODE = ""51"" ")
Т.е. у документа относится к нескольким отделам и в дочерней таблице указываются эти отдела. Мне нужны документы, которые лежат в определенном отделе (ну при этом эти документы могут лежать еще в каких-то других, связь один ко многим) INKLASSCODE - код отдела.
У меня такое ощущение, что выборка вообще случайная. Во всяком случае не по отделу, это точно :)
← →
Соловьев (2003-04-15 09:21) [4]соедени по join:
SELECT M3veds.ID, M3veds.DEL, M3veds.STAND, M3veds.INKLASS, M3veds.IZM1, M3inkls.kst, M3inkls.InklassCode
FROM "M3veds.db" M3veds JOIN "M3inkls.db" M3inkls ON (M3veds.KLASSID = M3inkls.kst)
WHERE (M3INKLS.INKLASSCODE = 51)
и еще почему у тебя 51 в ""? У тебя не числовое поле?
← →
ЮЮ (2003-04-15 09:34) [5]>У меня такое ощущение, что выборка вообще случайная. Во всяком случае не по отделу, это точно
Ты же выводишь M3inkls.InklassCode. Неужели там стоит не "51" ?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c