![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с SQL запросом в ADO
Rauf © (2004-03-04 08:21:00)Если имеется 2 таблицы, в которых присутствуют поля с одинаковыми названиями, то как их отличать в запросе SQL, точнее не запросе, а TADOCommand???
sniknik (2004-03-04 10:39:00) [1]Rauf © (04.03.04 10:26) [6]
> Ой извините, такой тоже не проходит
попробуй взять в качестве алиаса незарезервированные слова (неуказан движок но наверняка одно из двух будет зарезервированным почти в любом)
Rauf © (04.03.04 10:28) [7]
> А нельзя без этих алиасов???
> Если много полей, то это извините неудобно!!!
а сам то сможеш отличить? и если да то по какому признаку? вот у меня есть две таблицы там поля bar и bar скажи мне в какой (table1, table2) какое? (порядок и первичность назначения в sql а значит и здесь роли ни имеет). так как скажеш?
Asdor (2004-03-04 10:32:00) [2]Можно и без алиасов, но тогда надо самому смотреть, как в каждом конкретном случае СУБД разрешит конфликт имен...
Rauf (2004-03-04 10:28:00) [3]А нельзя без этих алиасов???
Если много полей, то это извините неудобно!!!
Rauf (2004-03-04 10:26:00) [4]Ой извините, такой тоже не проходит
select * from Table1 Main, Table2 Language where Main.LangID=Language.ID
Asdor (2004-03-04 10:22:00) [5]Select A.Field1 as A_FIELD1,
B.Field1 as B_FIELD1
From Table1 A,
Table2 B
Where A.LangID=B.ID
А потом просто обращаешься:
ADODataset1.FieldByName('A_FIELD1').AsString
ADODataset1.FieldByName('B_FIELD1').AsString.
SPIRIT (2004-03-04 10:20:00) [6]lol
Nikolay M. (2004-03-04 10:18:00) [7]
> select * from Table1.Main, Table2.Languagewhere Main.LangID=Language.ID
Это откуда такой синтаксис?
Rauf (2004-03-04 10:17:00) [8]Я не совсем верно выразился, мне может понадобиться и в тексте комманды выбирать поля с одинаковыми именами с разных таблиц, но кроме того еще и в при взятии значения через TADODataSet.
Но при использовании запроса
select * from Table1.Main, Table2.Language where Main.LangID=Language.ID
Выводит эксепшн Could find input table or query Table1.
База сама находится MSACCESS'е.
Кроме того как считывать значения с таких "одинаковых" полей.
Так ADODataSet1.FieldByName( 'Main.Name' ).AsString?
BoxTer (2004-03-04 09:08:00) [9]используй префиксы:
select A.Field1 from Table1 A, Table2 B
where A.Id=B.Id