2015-05-30 3 views
-1

Я хочу выбрать запись, соответствующую «B», когда есть дубликаты имени. Если нет дубликата, я хочу отобразить запись. См. Таблицу примеров [ТаблицаInfo]. Помогите мне с SQL-запрос.Выберите случайный случай из таблицы для определенного раздела

TableInfo

Name Type Value 
------------------------ 
Name1 A  5 
Name1 B 10 
Name1 C 11 
Name5 B 88 
Name5 C 98 
Name6 A 24 
Name6 B 21 
Name2 B 21 
Name3 C 55 
Name4 A 74 

Ожидаемый результат:

Name Type Value 
------------------------ 
Name1 B 10 
Name5 B 88 
Name6 B 21 
Name2 B 21 
Name3 C 55 
Name4 A 74 
+0

SQL Server или MySql? –

+0

Почему обе записи для «Name6» выводятся, но только для «Name1»? –

+0

SQL Server сделает – SChowdhury

ответ

0

Я думаю, что вы хотите:

select i.* 
from info i 
where type = 'B' 
union all 
select i.* 
from info i 
where not exists (select 1 from info i2 where i2.name = i.name and i2.type = 'B'); 

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

  • Нет связанных вопросов^_^