SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 19.10.2012 10:58:33

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

Выборка уникальных значений (Выборка в зависимости от текущего языка)

Добрый день всем))
Нужна ваша помощь.... Есть таблица:
----------------------------------------
| id | title | lenguage_id|
|----------------------|
|1   | н1   |         3      |
|-----------------------
|2   | н2   |         3      |
|-----------------------
|1   | рус |          1     |
|-----------------------

Если текущий язык на сайте русский(то есть lenguage_id = 1) Нужно вытянуть последнее значение + 2 поле, но если английский (lenguage_id = 3), то первые два значения.
То есть, вытянуть все уникальные id, делая приоритет в выборке текущему языку.
Пробовал так ( SELECT * FROM table WHERE lenguage_id = cur_leng OR lenguage_id = default_leng GROUP BY id) - но так вытягивает и русские и английские, просто опускает нижние, вытянутые значения.  Пробовал так:
SELECT * FROM table WHERE lenguage_id = cur_leng
UNION
SELECT * FROM table WHERE lenguage_id = default_leng
так тоже не выходит ...

Отредактированно bombascter (19.10.2012 11:07:29)

Неактивен

 

#2 19.10.2012 11:44:21

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

Re: Выборка уникальных значений (Выборка в зависимости от текущего языка)

SELECT t.* FROM `table` t JOIN
(SELECT id, SUBSTR(MAX(CONCAT(IF(lenguage_id=cur_leng,1,0), lenguage_id)), 2) lenguage_id FROM `table` GROUP BY id) t1
USING(id,lenguage_id);

Неактивен

 

#3 19.10.2012 11:58:00

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

Re: Выборка уникальных значений (Выборка в зависимости от текущего языка)

vasya написал:

SELECT t.* FROM `table` t JOIN
(SELECT id, SUBSTR(MAX(CONCAT(IF(lenguage_id=cur_leng,1,0), lenguage_id)), 2) lenguage_id FROM `table` GROUP BY id) t1
USING(id,lenguage_id);

Спасибо)) А можно расшифровать?! Буду очень признателен!!

Неактивен

 

#4 19.10.2012 12:02:34

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

Re: Выборка уникальных значений (Выборка в зависимости от текущего языка)

Неактивен

 

#5 19.10.2012 12:06:58

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

Re: Выборка уникальных значений (Выборка в зависимости от текущего языка)

Спасибо большое) Есть добрые люди))

Неактивен

 

Board footer

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