Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: составить запрос, котори виведит резултати как две столбец

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dadli
Отправлено: 12 Марта, 2012 - 16:55:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




Здравствуите.
есть таблица (на скриншоте)
хочу написать такои запрос, котори виведит имя людих таким образом: слева две имя, у которих есть тип 1, и справа тоже две имя, у которих тип 2. то есть резултат надо такои

alex | sergei
andres | jimmy


можно ето одним запросом?

P.S. ето можно сделать через UNION да? но резултат будит в одном столбце, так:
alex
andres
sergei
jimmy


и можно потом через пхп оформить резултат как две столбец, так понятно.
но интересно, можно написать запрос, котори виведит резултат как две столбец?
Прикреплено изображение (Нажмите для увеличения)
suur.jpg
 
 Top
EuGen Администратор
Отправлено: 12 Марта, 2012 - 19:33:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Чисто из интереса (разумнее сделать подобный вывод при помощи PHP)
CODE (SQL):
скопировать код в буфер обмена
  1. SET @d=0;
  2. SELECT
  3.   t0.name,
  4.   t1.name
  5. FROM
  6.   (SELECT
  7.     name,
  8.     type,
  9.     @d:=!@d AS pair
  10.   FROM
  11.     temp
  12.   WHERE
  13.     type IN (1,2)
  14.   ORDER BY
  15.   type) AS t0
  16. LEFT JOIN
  17.   (SELECT
  18.     name,
  19.     type,
  20.     @d:=!@d AS pair
  21.   FROM
  22.     temp
  23.   WHERE
  24.     type IN (1,2)
  25.   ORDER BY
  26.   type) AS t1
  27. ON
  28.   t0.pair=t1.pair
  29.   AND
  30.   t0.type=1
  31.   AND
  32.   t1.type=2
  33. WHERE
  34.   t0.name IS NOT NULL
  35.   AND
  36.   t1.name IS NOT NULL


(не пытайтесь сделать EXPLAIN - думаю, это будет не очень красиво)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
dadli
Отправлено: 12 Марта, 2012 - 20:18:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




EuGen
А?! мдааа, явно лучшее через PHP сделать. спасибо балшое, что написали такое Улыбка

(Отредактировано автором: 12 Марта, 2012 - 20:19:26)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB