![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вложенный Select [D7, MySQL, ADS]
kyn66 © (2006-04-10 17:08:00)Необходимо сделать сложный запрос с помощью вложенного SELECT, так вот я никогда с этим не сталкивался. Может кто подскажет урлу на доходчивый пример или как правильно прикрепить UNION.
Sergey13 (2006-04-13 15:03:00) [1]2[17] Silla © (13.04.06 14:36)
>В таблице Сотрудников
Ну-ну. А потом, когда понадобится еще в строчку и + с кодами городов - еще поле добавим.
А что, тоже метод.
Silla (2006-04-13 14:37:00) [2]Спасибо еще раз всем.
Silla (2006-04-13 14:36:00) [3]В таблице Сотрудников
А при добавлении/изменении/удалении данных телефонов
обновлять в таблице Сотрудников данное поле
Sergey13 (2006-04-13 14:15:00) [4]2 [15] Silla © (13.04.06 14:11)
> Тогда будем добавлять отдельное поле
В таблице в базе?
Silla (2006-04-13 14:11:00) [5]
> Sergey13 ©
Поиском - набрел на данный топик, по слову "Объединение"
поэтому и написал здесь.
Жаль. Тогда будем добавлять отдельное поле, где собирать будем все телефоны через запятую.
Sergey13 (2006-04-13 13:15:00) [6]2[12] Silla © (13.04.06 13:05)
>пишу здесь,
А почему не в соседнем топике? Тема твоего вопроса никак вроде с сабжевой перекликается только тем что "про телефоны".
>чтобы не создавать новый топик.
Этим ты сильно разгрузил весь интернет. 8-)
Никак вроде не получится запросом. Только через хранимую процедуру (чего в Аксесе вроде нет) или на клиенте.
Курдль (2006-04-13 13:12:00) [7]
> Silla © (13.04.06 13:05) [12]
СУБД какая? Некоторые могут такое вытворять, а в некоторых - только процедурой.
Silla (2006-04-13 13:05:00) [8]Доброго времени суток!
Заранее прошу извинения, пишу здесь, чтобы не создавать новый топик.
Прошу помощи: задача состоит в следующем
есть таблица
Сотрудников: ИД, ФИО
другая таблица
Телефоны: ИД, ИДСотрудников, Телефон
связь: один ко многим
Необходим такой запрос, который бы Выбрал все телефоны в одну ячейку,
например как при объединении полей (Access)
Select (ID & ' - ' & FIO) AS FullFIO FROM Jobs
Заранее спасибо!
solenko (2006-04-11 13:28:00) [9]1. Вложенные запросы тут не нужны -- просто многотабличный запрос
2. Вложенные запросы mysql делжит только в последних версиях
3. Можно обойтись без join (то ли я ми пользоваться не умею, то ли он работает оч медленно в mysql)
4. select т4.телефон, т1.тип from т1, т2, т4 where т1.id = т2.id_типа AND т2.id = т4.id_организации AND (условия выборки из таблицы т4)
MsGuns (2006-04-11 13:09:00) [10]>kyn66 © (10.04.06 17:45) [8]
>А как определить, в это SELECT FROM SELECT что из какой таблицы вытягивать?
SELECT Q2.F1, Q1.F2,.. FROM
(SELECT Q1.Field1 F1, Q1.Field1 F2,.. FROM
(SELECT <Любой запрос к любым таблицам>) Q1) Q2
[JOIN ...]
[WHERE ..]
[GROUP BY ..]
[ORDER BY ..]
А почитать самому ?
stud (2006-04-10 17:54:00) [11]тебе нужен телефон конкретной оргнизации?
наверное примерно так
select ... from организанция
left outer join телефон on организацияю.полесвязи=телефон.полесвязи
left outer join тип_организации on организация.полесвязи=тип.полесвязи
where ......
kyn66 (2006-04-10 17:45:00) [12]> stud ©
Так что там насчет join?
Пока ешшо не допер... 8-(.
>MsGuns
Вообще-то ты в 1) и 2) привел примеры подзапросов, а вложенный - это Select .. from select
А как определить, в это SELECT FROM SELECT что из какой таблицы вытягивать?
Курдль (2006-04-10 17:45:00) [13]Грустно все это :(
Афтар (иначе не назовешь) пришел искать помощи не потрудившись полистать хоть одну книжку или даже статью по основам SQL...
MsGuns (2006-04-10 17:30:00) [14]>Desdechado © (10.04.06 17:25) [5]
Вообще-то ты в 1) и 2) привел примеры подзапросов, а вложенный - это Select .. from select
Хотя, вообще-то четкого определения вроде бы нет ;)
Desdechado (2006-04-10 17:25:00) [15]вложенный select бывает разный:
1. в поле выбора select t.a, (select t1.b from t1 where... ) from t
2. в условии выбора select t.a from t where t.b in (select t1.b from t1 where...)
3. в списке таблиц select t.a, t1.b from t, (select ... ) t1 where ...
4. прочие виды, а также их комбинации
детали в справке по тому диалекту SQL, который поддерживается твоим сервером
stud (2006-04-10 17:25:00) [16]так это с помощью join решается, без двойных запросов
kyn66 (2006-04-10 17:23:00) [17]Ну может не так выразился.... пардонс. Короче у меня четыре таблицы:
1 - тип организации
2 - наименование организации
3 - наименование подразделения организации
4 - телефон организации.
Делая выборку номера телефона(из таб. 4), я имею тока код организации, а мне нужно и тип выбрать. А код типа есть тока в т.2, которая связана с т.1, вот и получается, сто мне нужно делать как-бы двойной запрос в одном TQuery.
Курдль (2006-04-10 17:12:00) [18]Union (см. перевод) - это не вложенный Select, а объединение наборов данных 2-х запросов.
stud (2006-04-10 17:12:00) [19]а при чем тут вложеный селект и унион?