Вниз
Скачать: CL | DM;

Как определить принадлежность поля к таблице?   Найти похожие ветки 

← →
stelius ©   (2004-03-26 10:52) [0]

Есть Query, у которого SQL:
SELECT * FROM Table1, Table2
Вопрос вот в чем: как из этого Query определить имя таблицы к которому относиться конткретное поле?
Или это не возможно?

P.S. Sorry, что не в тему форума. Просто уже полчаса пытаюсь добавить сообщение в форум "Базы", а мне IE говорит "ошибка на странице".


← →
Ega23 ©   (2004-03-26 11:01) [1]

Афигеть. Теперь представь, что в Table1 и Table2 по 500000 записей.
У тебя запрос умрёт.


← →
Sergey13 ©   (2004-03-26 11:23) [2]

2Ega23 ©   (26.03.04 11:01) [1]
Может умереть и на гораздо меньших цифрах. 8-)

2stelius ©   (26.03.04 10:52)
Если ты дождешься ответа от сервера, то этот ответ тебе станет уже не интересен. 8-)


← →
bushmen ©   (2004-03-26 11:24) [3]

А зачем тебе это понадобилось?


← →
Johnmen ©   (2004-03-26 11:28) [4]

SELECT Table1.Field1 AS MyField, ... FROM Table1, Table2


← →
stelius ©   (2004-03-26 11:36) [5]

2 Ega23

Sorry. Привел не правильный пример. Имел в виду следующее:
SELECT *
FROM Table1 INNER JOIN Table2
ON (Table1.Field1 = Table2.Field1)

Но суть не в этом.

Table1 структуры:
Field11 | Field12 | Field13

Table2 структуры:
Field21 | Field22 | Field23

Запрос возвращает:
Field11 | Field12 | Field13 | Field21 | Field22 | Field23

На входе есть Query. Как определить, что Field12 взят из Table1, а Field22 из Table2. Вобщем нужно имя таблицы для каждого поля, входящего в Query.

2Johnmen
Запрос я не могу поменять


← →
Sergey13 ©   (2004-03-26 11:43) [6]

2stelius ©   (26.03.04 11:36) [5]
Обычно (но не закон по моему), поля в возвращаемом наборе идут как они бъявлены в таблице. Сначала для первой, потом для второй... и т.д. Так что теоретически, зная структуру можно по порядковому номеру распознать. Но... это изврат, ИМХО.


← →
bushmen ©   (2004-03-26 11:45) [7]

Вообще-то, если ты пишешь эту прогу, то должен сам знать, что у тебя получается


← →
stelius ©   (2004-03-26 12:15) [8]

2bushmen
Я не пишу прогу где формируется DataSet. На входе моей проги есть этот Query и возможность доступа к БД. Но это все лирика.
Вообще можно для определенного поля из Query получить имя таблицы. Грубо говоря есть какое-то свойство поля через которое я могу получить указатель на таблицу его содержащее.
(при этом не зная ни количество таблиц, ни количества и порядка следования полей в них)


← →
Johnmen ©   (2004-03-26 12:17) [9]

>stelius ©   (26.03.04 12:15) [8]

Нет.


← →
Ega23 ©   (2004-03-26 12:37) [10]

Есть только Query.Fields[i].FieldName
Может помочь, если знаешь структуру таблиц 1 и 2.
Но всё равно это изврат, ИМХО.


← →
Игорь Шевченко ©   (2004-03-28 00:58) [11]

В Query.Fields[i].Origin ничего не написано ? (иногда там пишется оригинальное имя поля)


← →
Anatoly Podgoretsky ©   (2004-03-28 12:55) [12]

stelius ©   (26.03.04 12:15) [8]
Весьма сомнительно, у них разные адресные простраства, ты что то не договариваешь.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
3-1080233227
Avenger[NhT]
2004-03-25 19:47
2004.04.25
Коннект к базе через ODBC драйвер


3-1080431371
Onward
2004-03-28 03:49
2004.04.25
Помогите с Delphi+BDE...


8-1074489491
Disruptor
2004-01-19 08:18
2004.04.25
Ролловер


1-1081511947
Артем
2004-04-09 15:59
2004.04.25
Webbrowser


1-1081261350
killer
2004-04-06 18:22
2004.04.25
TStrings




   Наверх