Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизКак определить принадлежность поля к таблице? Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c