![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запрос не работает [D5, Paradox]
td © (2003-04-14 08:44:00)пишу так:
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-15 09:34:00) [1]>У меня такое ощущение, что выборка вообще случайная. Во всяком случае не по отделу, это точно
Ты же выводишь M3inkls.InklassCode. Неужели там стоит не "51" ?
Соловьев (2003-04-15 09:21:00) [2]соедени по 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 в ""? У тебя не числовое поле?
td (2003-04-15 09:07:00) [3]Мне нужны записи главной, к которой привязаны записи из подчиненной где у подчиненной (M3INKLS.INKLASSCODE = ""51"" ")
Т.е. у документа относится к нескольким отделам и в дочерней таблице указываются эти отдела. Мне нужны документы, которые лежат в определенном отделе (ну при этом эти документы могут лежать еще в каких-то других, связь один ко многим) INKLASSCODE - код отдела.
У меня такое ощущение, что выборка вообще случайная. Во всяком случае не по отделу, это точно :)
ЮЮ (2003-04-14 12:27:00) [4]Если возвращает выборку, значит работает :-)
Если возвращает не то, значит неправильно составлен. Что ты хочешь получить из этих двух таблиц?
Соловьев (2003-04-14 09:23:00) [5]left join - все записи из главной + те которые есть в подчиненной
join - только те что есть и там и там.