Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вопрос новичка по SELECT / 5 сообщений из 5, страница 1 из 1
11.09.2013, 14:08:10
    #38393593
topcyprus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка по SELECT
Требуется создать такой запрос

Код: sql
1.
2.
3.
SELECT ??? AS type
FROM items
INNER JOIN characteristics ON items.id=characteristics.item_id



у каждого item есть много разных characteristic
в запросе надо вывести поле type? которое равно:

4 - если item.type = 4
2 - если существует characteristics.value = 264
5 - если существует characteristics.value = 265

Как-то это можно сделать без 3-х select?

Заранее спасибо
...
Рейтинг: 0 / 0
11.09.2013, 14:10:53
    #38393597
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка по SELECT
А если выполнится несколько или даже все условия?
...
Рейтинг: 0 / 0
11.09.2013, 14:13:34
    #38393603
topcyprus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка по SELECT
miksoft,

спасибо за уточнение.

база так составлена, что это исключающие друг друга условия.

Но можно для четкости проверять условия в описанным мною порядке и выводить type в случае первого (либо последнего) совпадения.
...
Рейтинг: 0 / 0
11.09.2013, 14:21:28
    #38393621
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка по SELECT
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT case 
  when i.type=4 then 4
  when c.value=264 then 2
  when c.value=265 then 5
  end AS type
FROM items i
LEFT JOIN (
  select c.item_id, c.value 
  from characteristics c 
  where c.value in (264,265)
  group by c.item_id
  ) c ON c.item_id=i.id
...
Рейтинг: 0 / 0
11.09.2013, 14:29:06
    #38393630
topcyprus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос новичка по SELECT
Cygapb-007,

спасибо, это круто, всё работает!

увы, не знал раньше про case
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вопрос новичка по SELECT / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]