Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-1080644592
Крутыш
2004-03-30 15:03
2004.04.25
Почему метод Locate срабатывает один раз.


1-1081173548
Ш-К
2004-04-05 17:59
2004.04.25
Format and Indent


14-1080734429
Rule
2004-03-31 16:00
2004.04.25
Кто знает альтернативу JustOne ?


3-1080327973
Gambit
2004-03-26 22:06
2004.04.25
Синхронизацыя 2 таблиц paradox


1-1081113111
vertal
2004-04-05 01:11
2004.04.25
Надежность программ на Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский