Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2017, 07:55   #11
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Тут совсем без вариантов?
Надо два раза ставить join, примерно так:
Код:
SELECT `treq`.`uid`, `tusr1`.`nick` AS `from`, `tusr2`.`nick` AS `executor`
       	 FROM `requests` AS `treq`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`executor`
Black Fregat вне форума Ответить с цитированием
Старый 05.10.2017, 20:42   #12
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Подскажите как вывести from два раза. Первый - это id в текущей таблице requests, а второе - это nick по id из таблицы users
Код:
SELECT `treq`.`uid`, `treq`.`from`, `tusr1`.`nick` AS `from`, `tusr2`.`nick` AS `executor`
       	 FROM `requests` AS `treq`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`executor`
echo $row['uid'].'~'.$row['from'].'~'.$row['from'].'~'.$row['executor'];
В таком случае на выходе будет: 1~cali~cali~illana
должно быть
1~7~cali~illana
Shouldercannon вне форума Ответить с цитированием
Старый 05.10.2017, 21:07   #13
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Вы же сами второй from делаете при помощи AS
Поставьте там какое-либо уникальное имя.
Или же первый from переименуйте, опять же, используя AS
Black Fregat вне форума Ответить с цитированием
Старый 06.10.2017, 05:57   #14
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Работает
Код:
SELECT `treq`.`uid`, `treq1`.`from` AS `id`, `tusr1`.`nick` AS `from`, `tusr2`.`nick` AS `executor`
       	 FROM `requests` AS `treq`
         LEFT JOIN `requests` AS `treq1` ON `treq1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
         LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`executor`
echo $row['id'].'~'.$row['from'].'~'.$row['from'].'~'.$row['executor'];
Shouldercannon вне форума Ответить с цитированием
Старый 07.10.2017, 17:02   #15
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Теперь точно гуд
Код:
$query = "SELECT `treq`.`uid`, `treq`.`from`, `tusr1`.`nick` AS `nick_from`, `tusr2`.`nick` AS `took`
       	 FROM `requests` AS `treq`
         LEFT JOIN `users` AS `tusr1` ON `tusr1`.`uid` = `treq`.`from`
	 LEFT JOIN `users` AS `tusr2` ON `tusr2`.`uid` = `treq`.`took`
	 WHERE `treq`.`uid` = '".$_GET['rid']."'";	
$result = mysql_query($query) or die ("ERROR: ".mysql_error());
if (mysql_num_rows($result) > 0) {
	while ($row = mysql_fetch_array($result)) {
		// Берём результаты из каждой строки
		echo $row['from'].'~'.$row['nick_from'].'~'.$row['took'];
	}
}

Последний раз редактировалось Shouldercannon; 07.10.2017 в 20:39.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести данные из двух таблиц Shouldercannon PHP 30 31.10.2013 04:38
Данные из двух таблиц в одну reihtmonbern БД в Delphi 1 15.01.2013 23:25
Отличающиеся данные из двух таблиц Ma4balaka SQL, базы данных 12 09.11.2010 16:58
Связать данные двух таблиц ZhK Microsoft Office Excel 5 03.09.2009 12:23