Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.49 MB
Время: 0.013 c
14-10973
sagchat
2003-08-15 11:33
2003.09.04
Как установитьWindows 98 c 2000


1-10679
BVP
2003-08-21 14:02
2003.09.04
Сохранения деревьев в файл


3-10552
Санек
2003-08-11 13:27
2003.09.04
Данные поля в Caption


14-10868
Zip
2003-08-18 07:18
2003.09.04
globals.pas


3-10634
Avreliy
2003-08-12 18:13
2003.09.04
Левое внешнее объединение 2х хранимых процедур





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