2015-06-18 5 views
-3

Вот пример имя_таблица: пунктВыберите различные значения из таблицы тузда

ID value1 value2 value3 
1 flower rose  hello 
2 flower daisy  hello 
3 animal dog  crisis 
4 flower rose  Hint 
5 tree oak  make 
6 tree oak  made 
7 bird sparrow hello 
8 bird starling hello 

Я хочу MySQL ЗЕЬЕСТ, который возвращает следующие

value1 value2  value3 
flower rose  hello 
flower daisy  hello 
bird sparrow hello 
bird starling hello 

Вот небольшое объяснение. значение1 должно быть больше 1 в таблице. если значение1 = значение2 во всех случаях, не отображать его даже не один раз.

id 1: value1 repeats 3 times(more than 1), and there are 2 unique values for value2, so display it 
id 2: same as id 1 
id 3: value1 is not repeated in the table, so do not display it 
id 4: already displayed 
id 5: value1 repeats 2 times but value2 is same, so do not display it 

и так далее ...

ответ

-1

Вы можете попробовать это,

Select value1 ,value2 ,value3 
from xyz , yzx 
where xyz.id= yzx.id 
    and yzx.value3='Hello'; 
+0

Добро пожаловать в StackOverflow, пожалуйста, обеспечить хороший ответ :) – Sherlock

+0

Спасибо за форматирование .. –

2

Мой ответ:

mysql> select * from tbl; 
+------+--------+----------+--------+ 
| id | value1 | value2 | value3 | 
+------+--------+----------+--------+ 
| 1 | flower | rose  | hello | 
| 2 | flower | daisy | hello | 
| 3 | animal | dog  | crisis | 
| 4 | flower | rose  | Hint | 
| 5 | tree | oak  | make | 
| 6 | tree | oak  | made | 
| 7 | bird | sparrow | hello | 
| 8 | bird | starling | hello | 
+------+--------+----------+--------+ 
8 rows in set (0.00 sec) 

mysql> select t1.* from tbl t1 join tbl t2 on t2.value1 = t1.value1 and t2.value2 != t1.value2 group by t1.value1, t1.value2; 
+------+--------+----------+--------+ 
| id | value1 | value2 | value3 | 
+------+--------+----------+--------+ 
| 7 | bird | sparrow | hello | 
| 8 | bird | starling | hello | 
| 2 | flower | daisy | hello | 
| 1 | flower | rose  | hello | 
+------+--------+----------+--------+ 
+0

cross join дает мне несколько уникальных значений 'value1' &' value2', groupe удаляет дубликаты пар. – BaBL86

+0

Это сделало трюк :) Спасибо за помощь –

Смежные вопросы