![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по Query [D6, D7, MSSQL, MySQL]
ZeeM © (2005-12-15 04:08:00)Делаю я запрос на языке Sql и помещаю его в компонент Query. В результате запроса у меня ячека DBEdit1 принимает полученное в результате выполнения запроса значение.
Если мне необходимо в DBEdit2 вывести результат уже из другой таблицы, то необходимо создавать еще один компонент Query или несколько запросов можно связать с одним?
Если подобное осуществлять с помощью хранимых процедур, то также под каждую процедуру необходимо моздавать свой компонент?
Megabyte (2005-12-19 14:03:00) [1]Да ему вроде связывать ничего не надо, а просто нужно объединение запросов: UNION, UNION ALL?
msguns (2005-12-19 09:43:00) [2]>ZeeM (19.12.05 02:13) [6]
>Извиняюсь, но что-то непонимаю
Понимать ту нечего, надо просто освоить синтаксис SQL, в частности связки JOIN
ZeeM (2005-12-19 02:13:00) [3]Извиняюсь, но что-то непонимаю. Выбор происходит разных полей разных таблиц - SELECT t1.p1, t1.p2, t.p3, t3.p4
но указано только FROM t1
Можно поподробней плиз.
ЮЮ (2005-12-15 04:41:00) [4]Запрос должен быть один, а вюбирать из нескольких таблиц:
SELECT t1.p1, t1.p2, t.p3, t3.p4
FROM
t1
JOIN T2 On t2.<поле связи с t1> = t1.<поле связи с t2>
...
WHERE ...
ZeeM (2005-12-15 04:35:00) [5]Как раз в DBGrid все помещать нежелательно т.к. данных много, также из приложения надо еще работать с ними. Поэтому часть выноше в DBgrid часть в DBEdit.
А если в Query записать несколько запросов типо
SELECT p1,p2 FROM t1 WHERE p3=(SELECT .... и т.д. вложенность
SELECT p3,p4 FROM t2 WHERE ...
то компилятор ругаться начинает
ЮЮ (2005-12-15 04:31:00) [6]>Или надо париться над созданием временно таблицы которая бедет содержать результаты всех запросов?
Можно и в одном запросе выбирать данные из нескольких таблиц.
А результаты отображать не в DBEdit-ах, а в DBGrid-е, т.е один компонент, один источник данных и один набор данных - на большое количество полей
ZeeM (2005-12-15 04:22:00) [7]Мне одновременно в двух DBedit компонентах нужно показывать информацию из разных таблиц.
Так скажем это я привел для примера.
К примеру ФИО отображается в 3х DBedit - с этим пробем нет. Один Query и Darasourse.
Далее необходимо отобразить данные о персоне которые находятся в другой таблице.
Соответсвенно требуется составлять другой SQL запрос и соответсвенно создавать еще один компонет Query.
Просто если у меня таких запросов много, то для каждого нужно создавать свой компонент?
Или надо париться над созданием временно таблицы которая бедет содержать результаты всех запросов?
ЮЮ (2005-12-15 04:16:00) [8]>Если мне необходимо в DBEdit2 вывести результат уже из другой таблицы,
А почему бы не воспользоваться уже существующим DBEdit1?
Если компонент визуальный, то их нужно ровно столько, сколько нужно, почему же смущает такой подход к количеству невизуальных компонентов?