SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.01.2011 20:27:12

ivantonov
Участник
Зарегистрирован: 13.01.2011
Сообщений: 2

Выбор двух значений из разных строк

Добрый день!

Вот не могу понять, как правильно написать запрос:

Есть результат другого запроса SELECT * FROM ..., который выглядит примерно так:

station trainnumber arrival departure
Москва 1 NULL 2355
Санкт-Петербург 1 0755 NULL
Москва 3 NULL 2359
Санкт-Петербург 3 0800 NULL

Требуется, чтобы тот же запрос вывел часть этих данных как строки вида
1 2355 0755
3 2359 0800
то есть производил операцию вида
if(station='Москва') SELECT departure; if(station='Санкт-Петербург') SELECT arrival; GROUPBY trainnumber;

Понял, что делать надо через JOIN, но не понимаю, как.
Подскажите плз

Отредактированно ivantonov (13.01.2011 20:29:28)

Неактивен

 

#2 13.01.2011 20:50:02

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Выбор двух значений из разных строк

SELECT trainnumber, group_concat(ifnull(arrival,departure)) FROM ... GROUP BY trainnumber;

или

select t1.trainnumber, t1.departure, t2.arrival from
(исходный запрос) t1 join (исходный запрос) t2 on using(trainnumber)
where t1.arrival is null;

Неактивен

 

#3 14.01.2011 00:52:47

ivantonov
Участник
Зарегистрирован: 13.01.2011
Сообщений: 2

Re: Выбор двух значений из разных строк

Спасибо!

Второй вариант - то, что нужно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson