Форум: "Базы";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизВложенный Select Найти похожие ветки
← →
kyn66 © (2006-04-10 17:08) [0]Необходимо сделать сложный запрос с помощью вложенного SELECT, так вот я никогда с этим не сталкивался. Может кто подскажет урлу на доходчивый пример или как правильно прикрепить UNION.
← →
Курдль © (2006-04-10 17:12) [1]Union (см. перевод) - это не вложенный Select, а объединение наборов данных 2-х запросов.
← →
stud © (2006-04-10 17:12) [2]а при чем тут вложеный селект и унион?
← →
kyn66 © (2006-04-10 17:23) [3]Ну может не так выразился.... пардонс. Короче у меня четыре таблицы:
1 - тип организации
2 - наименование организации
3 - наименование подразделения организации
4 - телефон организации.
Делая выборку номера телефона(из таб. 4), я имею тока код организации, а мне нужно и тип выбрать. А код типа есть тока в т.2, которая связана с т.1, вот и получается, сто мне нужно делать как-бы двойной запрос в одном TQuery.
← →
stud © (2006-04-10 17:25) [4]так это с помощью join решается, без двойных запросов
← →
Desdechado © (2006-04-10 17:25) [5]вложенный 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, который поддерживается твоим сервером
← →
MsGuns © (2006-04-10 17:30) [6]>Desdechado © (10.04.06 17:25) [5]
Вообще-то ты в 1) и 2) привел примеры подзапросов, а вложенный - это Select .. from select
Хотя, вообще-то четкого определения вроде бы нет ;)
← →
Курдль © (2006-04-10 17:45) [7]Грустно все это :(
Афтар (иначе не назовешь) пришел искать помощи не потрудившись полистать хоть одну книжку или даже статью по основам SQL...
← →
kyn66 © (2006-04-10 17:45) [8]> stud ©
Так что там насчет join?
Пока ешшо не допер... 8-(.
>MsGuns
Вообще-то ты в 1) и 2) привел примеры подзапросов, а вложенный - это Select .. from select
А как определить, в это SELECT FROM SELECT что из какой таблицы вытягивать?
← →
stud © (2006-04-10 17:54) [9]тебе нужен телефон конкретной оргнизации?
наверное примерно так
select ... from организанция
left outer join телефон on организацияю.полесвязи=телефон.полесвязи
left outer join тип_организации on организация.полесвязи=тип.полесвязи
where ......
← →
MsGuns © (2006-04-11 13:09) [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 ..]
А почитать самому ?
← →
solenko © (2006-04-11 13:28) [11]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)
← →
Silla © (2006-04-13 13:05) [12]Доброго времени суток!
Заранее прошу извинения, пишу здесь, чтобы не создавать новый топик.
Прошу помощи: задача состоит в следующем
есть таблица
Сотрудников: ИД, ФИО
другая таблица
Телефоны: ИД, ИДСотрудников, Телефон
связь: один ко многим
Необходим такой запрос, который бы Выбрал все телефоны в одну ячейку,
например как при объединении полей (Access)
Select (ID & " - " & FIO) AS FullFIO FROM Jobs
Заранее спасибо!
← →
Курдль © (2006-04-13 13:12) [13]
> Silla © (13.04.06 13:05) [12]
СУБД какая? Некоторые могут такое вытворять, а в некоторых - только процедурой.
← →
Sergey13 © (2006-04-13 13:15) [14]2[12] Silla © (13.04.06 13:05)
>пишу здесь,
А почему не в соседнем топике? Тема твоего вопроса никак вроде с сабжевой перекликается только тем что "про телефоны".
>чтобы не создавать новый топик.
Этим ты сильно разгрузил весь интернет. 8-)
Никак вроде не получится запросом. Только через хранимую процедуру (чего в Аксесе вроде нет) или на клиенте.
← →
Silla © (2006-04-13 14:11) [15]
> Sergey13 ©
Поиском - набрел на данный топик, по слову "Объединение"
поэтому и написал здесь.
Жаль. Тогда будем добавлять отдельное поле, где собирать будем все телефоны через запятую.
← →
Sergey13 © (2006-04-13 14:15) [16]2 [15] Silla © (13.04.06 14:11)
> Тогда будем добавлять отдельное поле
В таблице в базе?
← →
Silla © (2006-04-13 14:36) [17]В таблице Сотрудников
А при добавлении/изменении/удалении данных телефонов
обновлять в таблице Сотрудников данное поле
← →
Silla © (2006-04-13 14:37) [18]Спасибо еще раз всем.
← →
Sergey13 © (2006-04-13 15:03) [19]2[17] Silla © (13.04.06 14:36)
>В таблице Сотрудников
Ну-ну. А потом, когда понадобится еще в строчку и + с кодами городов - еще поле добавим.
А что, тоже метод.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.044 c