[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Несколько значений id из одной таблицы
rooor
Привет всем)
Как выдернуть значение поля по id, если этих id несколько в одной таблице?

Вот, например так:
Таблица пользователей.
id_user | user_name | id_user_edit | id_user_ban

Нужно показать сам user_name, и user_name, id_user которых равен id_user_edit и id_user_ban...

Так? По моему бред...
SELECT 
u.`user_name`,
u1.`user_name` AS `user_edit`,
u2.`user_name` AS `user_ban`
FROM `users` u
LEFT JOIN `users` u1 ON u1.`id_user` = u.`id_user_edit`
LEFT JOIN `users` u2 ON u2.`id_user` = u.`id_user_ban`
sergeiss
Подробнее про структуру таблицы скажи! Каких именно несколько айди? Что из них уникальное, что не уникальное?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
rooor
id_user - первичный ключ
id_user_edit и id_user_ban - туда пишется id_user из этой же таблицы, т.е. если кто-то редактировал профиль пользователя, то в id_user_edit пишется id_user того, кто редактировал
Надо вытащить имя основного пользователя, имя того, кто редактировал и т.п.
sergeiss
А почему тогда "бред" то, что ты делал, т.е. джойны? Про запрос однозначно не скажу, правильный он или нет, но идея точно верная для описанных тобой требований.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
rooor
мне их тогда надо штук 12 делать... джойнов...может из-за того, что на компе делаю, но мускул вешается
sergeiss
Да хоть 50 джойнов smile.gif Не вижу проблем. Единственная задача (а не проблема) - это чтобы индексы правильные были, чтобы запрос быстро выполнялся.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
rooor
"бред" в том, что надо 1001 раз присоединять одну и ту же таблицу..
ну ладно) я так прикинул, что дешевле будет писать сразу имя, а не его id
DedMorozzz
Цитата
Да хоть 50 джойнов smile.gif Не вижу проблем.
Я вижу smile.gif
Джоин это цикл. 2 джоина - это цикл в цикле.
50 джоинов 50 циклов в цикле.
НЕЛЬЗЯ так делать.
Ищи другое решение

Цитата
"бред" в том, что надо 1001 раз присоединять одну и ту же таблицу..
Если одна и та же таблица - сначала выбираешь нужные айди. Далее запрос с IN делаешь

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.