powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите запрос
11 сообщений из 11, страница 1 из 1
Подскажите запрос
    #33371586
Как сделать вертикальное обединение или ...
есть таблица "a" поля "id","name","pid"
Пример:
1 а 0
2 b 0
3 c 1
Как получить:
1 а 0
1 c 3 можно и так 3 c 1
2 b 0

Типо:
(select id,name,pid from a where pid=0
+ select pid as id,name,id as pid from a where pid<>0)
order by id asc
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371595
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С помощью объединения (UNION)?
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371621
А пример можно как это будет? я ПолныйЛамер
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371669
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в документации поглядеть?
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371692
Я нашол пример:
SELECT *,id AS sor FROM tresult WHERE pid='0'
UNION
SELECT *,pid AS sor FROM tresult WHERE pid!='0'
ORDER BY sor,id

а как из него сделать реукрсивное дерево?
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371698
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПолныйЛамерЯ нашол пример:
SELECT *,id AS sor FROM tresult WHERE pid='0'
UNION
SELECT *,pid AS sor FROM tresult WHERE pid!='0'
ORDER BY sor,id

а как из него сделать реукрсивное дерево?

Что ты подразумеваешь под рекурсивным деревом?
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371721
табица id pid
1 0
2 0
3 1
4 0
5 1
6 0
7 3
Результат
1 0
3 1
7 3
5 1
2 0
4 0
6 0
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371735
Фотография Валентин К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не рекурсиваное дерево.

Опиши задачу, по каким правилам получается 2-й список?
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371767
?? почему нерекурсивное она самое
првая голова
потом потомок равен id голове

1 нет головы
2 нет головы
3 есть голова ставим после 1
4 нет головы
5 есть голова ставим после 1
6 нет головы
7 есть голова ставим после 3

точнее получиться так:
1 0
*5 1
*3 1
**7 3
2 0
4 0
6 0
...
Рейтинг: 0 / 0
Подскажите запрос
    #33371841
Я вродебы нашол но это другой синтьаксис можите подсказать как его под sql-92 перевести
1 WITH temp (level, name, id, mid) AS
2 (SELECT 1 AS level, last_name, employee_id, manager_id
3 FROM employee
4 WHERE last_name=
5 (SELECT last_name
6 FROM employee, job
7 WHERE employee.job_id=job.job_id
8 AND function ='PRESIDENT' )
9 UNION ALL
10 SELECT level+1 AS level, last_name, employee_id, manager_id
11 FROM employee, temp
12 WHERE manager_id=id )
13 SELECT DISTINCT level, name, id, mid
14 FROM temp
15 ORDER BY level;
...
Рейтинг: 0 / 0
Подскажите запрос
    #33372061
Вродибы перевел но ругаеться на "ll"
SELECT ll,parent,child
FROM
(
SELECT 1 AS ll,
pid AS parent,
id AS child
FROM tresult
WHERE pid = 0
UNION ALL
SELECT ll + 1 AS ll,
t1.pid AS parent,
t1.id AS child
FROM tresult t1
WHERE t1.id=ftbl.parent
) ftbl
ORDER BY ll ASC;
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]