Форум: "Базы";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
ВнизAdo и Найти похожие ветки
← →
WellSlava (2003-08-05 13:42) [0]Люди!!! Скажите, пожалуйста, при запросе с использованием ADO, можно использовать более одного "Join"-а? У меня не получается. Что для этого необходимо сделать?
← →
Hooch (2003-08-05 13:49) [1]ADO то тут причем ??
← →
stone (2003-08-05 13:50) [2]
> Скажите, пожалуйста, при запросе с использованием ADO, можно
> использовать более одного "Join"-а?
Можно.
> У меня не получается. Что для этого необходимо сделать?
Показать текст запроса для начала.
← →
Соловьев (2003-08-05 13:51) [3]
select t2.*, t3.*,...,tN.*
from table1 t1
join table2 t2 on t1.id=t2.id
join table3 t3 on t3.id=t3.id
...
join tableN tN on t1.id=tN.id
← →
Семен Сорокин (2003-08-05 15:10) [4]а СУБД - это секрет?
← →
WellSlava (2003-08-05 16:22) [5]более одного "Join"-а выдает ошибку, с одним работает... На счет СУБД прошу не смеяться, так уж получилось, что это DBASE. TTable использовать не хочеться, а запросы долго выполняются, особенно через BDE. Или если у кого есть компоненты для работы с DBF-файлами, то просьба их дать....
← →
Соловьев (2003-08-05 16:37) [6]
> более одного "Join"-а выдает ошибку, с одним работает...
>
покажи запрос.
← →
WellSlava (2003-08-05 17:41) [7]смотрите запрос...
Select K_LKART.LSCH, K_SALDOT.SUMA, K_LGOT.FIO
From K_LKART
Left Outer Join K_SALDOT On K_LKART.LSCH = K_SALDOT.LSCH
Left Outer Join K_LGOT On K_LKART.LSCH = K_LGOT.LSCH
← →
Соловьев (2003-08-05 17:53) [8]может в скобки взять?
Select K_LKART.LSCH, K_SALDOT.SUMA, K_LGOT.FIO
From K_LKART
Left Outer Join K_SALDOT On (K_LKART.LSCH = K_SALDOT.LSCH)
Left Outer Join K_LGOT On (K_LKART.LSCH = K_LGOT.LSCH)
← →
WellSlava (2003-08-06 17:27) [9]не помогает... может это из-за dbf-файлов?
← →
Соловьев (2003-08-06 17:33) [10]нет не из-за dbf... хотя я не проверял, может баг...
← →
sniknik (2003-08-06 18:06) [11]> может баг...
ага, баг, если использовать синтаксис одного движка под другой, то весь запрос и превращается в один большой баг. (судя по Соловьев © (05.08.03 17:53) так в Local SQL пишут?)
WellSlava © (06.08.03 17:27)
зря проигнорировал
> Hooch © (05.08.03 13:49)
> ADO то тут причем ??
← →
Nikolay M. (2003-08-06 18:09) [12]
> более одного "Join"-а выдает ошибку
А какую? :)
← →
Соловьев (2003-08-06 18:16) [13]
> sniknik © (06.08.03 18:06)
> > может баг...
> ага, баг, если использовать синтаксис одного движка под
> другой, то весь запрос и превращается в один большой баг.
> (судя по Соловьев © (05.08.03 17:53) так в Local SQL пишут?)
недосмотрел что ADO... :) бывает.
outer - не нужно .
Select K_LKART.LSCH, K_SALDOT.SUMA, K_LGOT.FIO
From K_LKART
Left Join K_SALDOT On K_LKART.LSCH = K_SALDOT.LSCH
Left Join K_LGOT On K_LKART.LSCH = K_LGOT.LSCH
← →
sniknik (2003-08-06 18:49) [14]> недосмотрел что ADO
да в том то и дело что ADO ни причем, через него хоть к Oracle хоть к MSSQL, согласны что синтаксис разный.
ну да конечно
WellSlava © (06.08.03 17:27)
> не помогает... может это из-за dbf-файлов?
тогда хоть к dBase хоть Foxpro...
>outer - не нужно . ...
может попал, может промахнулся...
для jet синтаксис другой (конечно никакой уверености что это он используется), из хелпа
Операции JOIN могут быть вложенными; в таком случае используйте следующий синтаксис:
SELECT поля
FROM таблица_1 INNER JOIN
(таблица_2 INNER JOIN [( ]таблица_3
[INNER JOIN [( ]таблица_X [INNER JOIN ...)]
ON таблица_3.поле_3 оператор таблица_X.поле_X)]
ON таблица_2.поле_2 оператор таблица_3.поле_3)
ON таблица_1.поле_1 оператор таблица_2.поле_2;
(во всяком случае пока не упоминался такой вариант)
← →
WellSlava (2003-08-12 13:11) [15]спасибо!!!!
← →
WellSlava (2003-08-13 18:08) [16]снова я... сразу не досмотрел...
sniknik © в этом случае каждый последующий Join соединяется через предыдущий? Мне же необходимо подключать все к основной таблице. Каждый Join ссылается на нее.
← →
777 (2003-08-13 22:41) [17]Возможно есть в K_LKART значения, которых нет в
других таблицах - у меня был такой глюк.
Именно с Left Outer Join.
Попробуй...
Select K_LKART.LSCH, K_SALDOT.SUMA, K_LGOT.FIO
From K_LKART
Left Outer Join K_SALDOT On (K_LKART.LSCH = K_SALDOT.LSCH AND NOT K_SALDOT.LSCH IS NULL)
Left Outer Join K_LGOT On (K_LKART.LSCH = K_LGOT.LSCH AND NOT K_LGOT.LSCH IS NULL)
что-то типа этого
← →
WellSlava (2003-08-14 10:29) [18]ничего не получается! Неужели в ADO настолько другой синтаксис?
← →
WellSlava (2003-08-14 10:35) [19]и еще... ADO понимает хоть как-то Cast(TBL1.FIELD1 as Char(8))?
← →
Плохиш_ (2003-08-14 10:42) [20]Ну что телепаты мозги ешё не свернули?
>>WellSlava
1. Где текст ошибки?
2. Где код?
← →
sniknik (2003-08-14 10:53) [21]WellSlava © (14.08.03 10:29) [18]
WellSlava © (14.08.03 10:35) [19]
ты чего ответов не читаеш?
ответь сам на вопрос
Hooch © (05.08.03 13:49) [1]
> ADO то тут причем ??
и все станет кристально ясно и удивительно понятно. (в отличии от сейчас)
← →
WellSlava (2003-08-14 12:06) [22]В общем я понял с ADO тут нормально никто не работал! Потому что никто ответить не может. Вы бы сначала проверили свои советы а потом советовали.
← →
WellSlava (2003-08-14 12:15) [23]Я же писал Вам, что у меня DBF-файлы.
← →
Johnmen (2003-08-14 12:21) [24]Странно... Сначала мягко обсераешь отвечающих, а потом все равно ждешь ответа...
Причем усиленно скрываешь насчет Плохиш_ (14.08.03 10:42) [20].
Так тебе вряд ли кто поможет...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.008 c