![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL запрос из двух таблиц [D6, Oracle]
Alexcool © (2002-06-27 20:16:00)Правда, не знаю как сделать, подскажите. Мне нужно сделать что-то вроде SELECT * FROM Table1, Table2. Но в этих таблицах есть поля с одинаковыми названиями, например ID. В результате я получаю DataSet с полями ID и ID_1, а хотелось бы с полями Table1ID и Table2ID. Это возможно? Если возможно, то как?
Lemon_AlexL (2002-07-02 11:18:00) [1]Для того, что бы поля с одинаковыми названиями выводились в результате как два поля с разными названиями необходимо:
Присвоить в выборке им (полям) свои названия используя инструкцию
"ИМЯ_ПОЛЯ_В_ТАБЛИЦЕ" AS "ИМЯ_ПОЛЯ_В_РЕЗУЛЬТАТЕ". Правда для этого придется отказаться от символа "*" в SELECT, в мсто этого перечислять поля как они есть.
Пример:
SELECT (T1.FIELD1) AS FIELD1_FROM_T1,
(T2.FIELD1) AS FIELD1_FROM_T2
FROM TABLE1 T1, TABLE2 T2... ну и т. д.
Sergey13 (2002-07-02 09:46:00) [2]2Oleggg (02.07.02 09:38)
А ты сам то понял о чем речь? 8-)
Хороший пример того, что до некоторых парней вообще не доходит...
Oleggg (2002-07-02 09:38:00) [3]Юзай UNION
select * from t1 union select * from t2.
ЗЫ Спасибо Динана, насмешила - хороший пример того, что до девушек туго доходит, что нужно парням :)
Diana (2002-07-02 08:41:00) [4]А как на счет стандартного метода?
Select t1.*,t2.*
from table1 t1, table2 t2
where t1.<Имя ключевого поля>=t2.<Имя ключевого поля>
Имейте в виду без t1.<Имя ключевого поля>=t2.<Имя ключевого поля>записи в таблицах просто перемножатся друг на друга.
Да и все столбцы выберать не обязательно,
можно так
select t1.<Поле> П1, t2.<Поле> П2 ...
И все будет... :-)
Polevi (2002-06-28 08:20:00) [5]это извращение
Viewer (2002-06-27 21:06:00) [6]Еще можно проектировать таблицы и поля как
TABLE1_FIELDNAME1
Но для универсальности это не здорово, хотя и обходимо.
Viewer (2002-06-27 21:04:00) [7]Пример
SELECT R.*, T.ID AS TOWN_TOWN_ID, T.NAME AS TOWN_NAME, T.CODE AS TOWN_CODE, T.CTYPE_ID AS T_CTYPE_ID,
S.ID AS STREET_STREET_ID, S.NAME AS STREET_NAME,
C.ID AS C_ID, C.ABR AS C_ABR
FROM BUYERS R, TOWNS T, STREET S, CTYPE C
dimis (2002-06-27 21:00:00) [8]select a.id Table1id,b.id Table2id
from table1 a,table2 b
Anatoly Podgoretsky (2002-06-27 20:36:00) [9]Если заменить * на список полей, то да, используй предикат AS