![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить принадлежность поля к таблице? [D5, Win2k]
stelius © (2004-03-26 10:52:00)Есть Query, у которого SQL:
SELECT * FROM Table1, Table2
Вопрос вот в чем: как из этого Query определить имя таблицы к которому относиться конткретное поле?
Или это не возможно?
P.S. Sorry, что не в тему форума. Просто уже полчаса пытаюсь добавить сообщение в форум "Базы", а мне IE говорит "ошибка на странице".
Anatoly Podgoretsky (2004-03-28 12:55:00) [1]stelius © (26.03.04 12:15) [8]
Весьма сомнительно, у них разные адресные простраства, ты что то не договариваешь.
Игорь Шевченко (2004-03-28 00:58:00) [2]В Query.Fields[i].Origin ничего не написано ? (иногда там пишется оригинальное имя поля)
Ega23 (2004-03-26 12:37:00) [3]Есть только Query.Fields[i].FieldName
Может помочь, если знаешь структуру таблиц 1 и 2.
Но всё равно это изврат, ИМХО.
Johnmen (2004-03-26 12:17:00) [4]>stelius © (26.03.04 12:15) [8]
Нет.
stelius (2004-03-26 12:15:00) [5]2bushmen
Я не пишу прогу где формируется DataSet. На входе моей проги есть этот Query и возможность доступа к БД. Но это все лирика.
Вообще можно для определенного поля из Query получить имя таблицы. Грубо говоря есть какое-то свойство поля через которое я могу получить указатель на таблицу его содержащее.
(при этом не зная ни количество таблиц, ни количества и порядка следования полей в них)
bushmen (2004-03-26 11:45:00) [6]Вообще-то, если ты пишешь эту прогу, то должен сам знать, что у тебя получается
Sergey13 (2004-03-26 11:43:00) [7]2stelius © (26.03.04 11:36) [5]
Обычно (но не закон по моему), поля в возвращаемом наборе идут как они бъявлены в таблице. Сначала для первой, потом для второй... и т.д. Так что теоретически, зная структуру можно по порядковому номеру распознать. Но... это изврат, ИМХО.
stelius (2004-03-26 11:36:00) [8]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
Запрос я не могу поменять
Johnmen (2004-03-26 11:28:00) [9]SELECT Table1.Field1 AS MyField, ... FROM Table1, Table2
bushmen (2004-03-26 11:24:00) [10]А зачем тебе это понадобилось?
Sergey13 (2004-03-26 11:23:00) [11]2Ega23 © (26.03.04 11:01) [1]
Может умереть и на гораздо меньших цифрах. 8-)
2stelius © (26.03.04 10:52)
Если ты дождешься ответа от сервера, то этот ответ тебе станет уже не интересен. 8-)
Ega23 (2004-03-26 11:01:00) [12]Афигеть. Теперь представь, что в Table1 и Table2 по 500000 записей.
У тебя запрос умрёт.