SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 10.12.2014 21:07:01

ashotik
Участник
Зарегистрирован: 10.12.2014
Сообщений: 3

Помогите составить запрос

есть таблица с такими полями:
`group_id`, `logical_value`,`field_id`
1 ----------------- ааа --------- 2
1 ----------------- 123 --------- 3
2 ----------------- ффф --------- 2
2 ----------------- 456 --------- 3

нужно составит запрос, чтобы было так:
`a`  ,   `b`
ааа --- 123
ффф --- 456

т.е по идее запрос должен выглядеть так

SELECT 
`logical_value` AS a WHERE `group_id`=1,
`logical_value` AS b WHERE `group_id`=2
FROM 
`table`
GROUP BY `field_id`

но так естественно не правильно. Как составить запрос?
Спасибо

Отредактированно ashotik (10.12.2014 21:09:35)

Неактивен

 

#2 10.12.2014 22:11:00

ashotik
Участник
Зарегистрирован: 10.12.2014
Сообщений: 3

Re: Помогите составить запрос

И ТАК НЕ ТО

SELECT 
`logical_value` AS b
FROM 
`table`
WHERE
`field_id`=2

UNION

SELECT 
`logical_value` AS a
FROM 
`table`
WHERE
`field_id`=1

выдает

`b`
123
456
ааа
ффф

Неактивен

 

#3 10.12.2014 22:25:03

ashotik
Участник
Зарегистрирован: 10.12.2014
Сообщений: 3

Re: Помогите составить запрос

Всем спасибо за оперативность, разобрался...


SELECT T1.a,T2.b
FROM
(SELECT 
`logical_value` AS `b`,`group_id`
FROM 
`table`
WHERE
`field_id`=2
) T2,
(SELECT 
`logical_value` AS `a`,`group_id`
FROM 
`table`
WHERE
`field_id`=1) T1
WHERE T2.`group_id` = T1.`group_id`

Неактивен

 

Board footer

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