Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как по 2м разым ID подставить поле из одного справочника? [D5, dBase, FoxPro]


13-ый ©   (2002-09-05 00:53:00) 

Видимо этот вопрос тока к юзерам компоненты xQuery (реализация sql для любого dataset)

вопщем беда такая есть запись и в ней 2 поля id фирмы из одного справочника.

хочу 1 sql-запросом подставить значения из справочника.

фишка в том, что подставляется только вместо одного id, а второй - первые буквы 1-го названия %-((

видимо это связано с тем, что этот компонент считает разные алиасы одной таблицы не корректно.

вот сам запрос:

SeLECT b.name, c.name FROM ds_main, ds_fima b, ds_firma c
WHERE (a.id_firma=a.prodav_id) or (a.id_firma=a.rieltor_id)

где name - имя фирмы из спровочника ds_firma, sd_main - основная таблица с 2-мя id разных фирм


ЮЮ   (2002-09-05 11:31:00) [1]

> xQuery (реализация sql для любого dataset)
За универсализм приходится платить :-)

А этот, сокращенный вариант для 3 таблиц работает? Проверь!!!
Ведь ошибка может быть именно в твоём запросе, где больше таблиц и полей


13-ый   (2002-09-05 11:18:00) [2]

да,sql я напартачил, но тока тут, я просто сократил его для наглядности, в оригинале больше таблиц и полей и написано именно в версии тов. ЮЮ, только or стоит а не and.

при and он не находит вообще ни одной записи (именно отсюда я и сделал вывод, что он всё равно пытается несмотря на алиасы изъять только одну запись соответствующию обоим параметрам, что у него благополучно и не выходит).


ЮЮ   (2002-09-05 02:19:00) [3]

Вряд-ли это сам запрос, ведь в нем полно ошибок :-)

SeLECT b.name, c.name FROM ds_main a, ds_fima b, ds_firma c
WHERE ( b.id_firma=a.prodav_id) and( c.id_firma=a.rieltor_id)


Наверх

Титульная страница Поиск, карта сайта Написать письмо