Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Прошу помощи в составлении хитрого запроса  [new]
Fastereus
Member

Откуда:
Сообщений: 31
Fastereus
bochkov, приветствую , хоть и куча лет прошла но тема опять всплыла в новь ... попробовал и вот результат :


child_id;parent_id;
493;492;
492;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;
NULL;NULL;


Как видишь не работает :)

А вот так работает :
SET @child_id = '869';
SELECT @child_id AS `ID` , @child_id := (SELECT Owner FROM test_th_nodes WHERE `ID` = @child_id LIMIT 1) AS `Owner` FROM test_th_nodes WHERE @child_id IS NOT NULL;


ID;Owner;
869;867;
867;NULL;


Но есть косяк в консоли MyySQL оно работает , в PhpMYADMIN так же работает но при вызове его из php :

#1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT @child_id AS `ID` , @child_id := (SELECT Owner FROM test_th_nodes WHERE `' at line 1

Так что пока разбираюсь
31 янв 20, 07:01    [22070104]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи в составлении хитрого запроса  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20017
Fastereus
но при вызове его из php
Да чего там разбираться... ты используешь коннектор либо метод, который не поддерживает мультизапросы (или с неустановленным флагом мультизапросов).

Опять же ничто не мешает превратить это в один запрос, отправив инициализацию переменной в секцию FROM основного запроса:
SELECT @child_id AS `ID` , 
       @child_id := ( SELECT Owner 
                      FROM test_th_nodes 
                      WHERE `ID` = @child_id LIMIT 1 ) AS `Owner` 
FROM test_th_nodes, (@child_id := '869') init_variable
WHERE @child_id IS NOT NULL;
31 янв 20, 07:21    [22070107]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи в составлении хитрого запроса  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 2956
Fastereus
Список может иметь не ограниченное количество вложений, самое главное что у верхушки Parent=NULL
Мне нужно зная ID любого элемента получить список его и его родителей (ветку)
хорошее решение Помогите переделать SQL хранимку из «FireBird» в «MySQL»
31 янв 20, 08:19    [22070125]     Ответить | Цитировать Сообщить модератору
 Re: Прошу помощи в составлении хитрого запроса  [new]
Fastereus
Member

Откуда:
Сообщений: 31
Akina,

Сорян я думал я удалил пост ... я разобрался .. да была проблема с библиотекой ...


итог все работает

всем спасибо я специально вернулся и оставил пост вдруг кто тоже ищет
4 фев 20, 06:11    [22072298]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / MySQL Ответить