2013-11-18 3 views
-6

мне нужна ваша поддержкаSQL Server 2008 выберите такое же поле с различными значениями

У меня есть таблица, где отображение данных, как следующее:

Id  : Descrption : PID 
----------------------------- 
1   Design   1 
2   Log   1 
3   Modern   2 
4   Log   2 
5   Design   2 
6   Log   3 

Я хочу, чтобы отобразить pid и description поле, где Description=Design и Description=Log

+3

Вопросы по stackoverflow должны показать, что вы пробовали, и почему это не сработало. http://stackoverflow.com/questions/how-to-ask – user2720864

+0

Не будем ли мы указывать для вас ..? – Nisar

ответ

0

Может быть, это работает для вас

SELECT 
    y1.pid 
    ,y1.description 
    ,y2.description 
FROM 
    ytest AS y1 
INNER JOIN 
    ytest AS y2 
ON 
    y1.pid = y2.pid 
AND y1.description = 'Log' 
AND y2.description like 'Design%' 
+0

Большое спасибо, все решено! !!!!! – user3004256

+0

еще раз показать другую проблему, действительно, мне нужно проверить все значения y1.description = 'Design' и y1.Description = 'Log', не хотите использовать y2.description. ответьте как можно скорее. спасибо – user3004256

+0

просто уменьшите выделенные столбцы до 'y1.pid', а затем поставьте его как подзапрос в' SELECT * FROM ytest WHERE pid IN () –

0

Попробуйте следующее:

SELECT T.PID, T.Description 
FROM ytest T 
WHERE 
T.Description='Log' 
OR 
T.Description='Design' 

Или что-то вдоль этих линий ..

+0

return null value – user3004256

+0

Вы изменили часть «YourTable» на свое имя таблицы ... Правильно? В противном случае у вас нет данных, соответствующих вашим критериям. Этот вопрос в порядке. –

+0

Должен работать сейчас, я отредактировал, так как смог увидеть структуру таблицы. –

0

Выбор записей с Design или Log

SELECT pid, 
     Description 
FROM ytest 
WHERE Description='Design' 
     OR Description='Log' 
+0

почему a -ve голосовать? –

+0

Я использовал следующий sql query = select pid, Описание из ytest как t, где t.Description = 'Design' и t.Description = 'Log' = no record display – user3004256

+0

Вы могли бы разместить запрос в sqlfiddle.com –

0
SELECT table.PID, table.Description 
FROM table 
WHERE 
table.Description='Design' 
AND 
table.Description='Log' 
0

Если вы хотите, чтобы выбрать все такие PID, который имеет описание и как «Дизайн» и «Log» в некоторые строки таблицы говорят тогда table1 попробовать, как:

select t1.pid ,t1.[Description] 
from table1 t1 
where t1.[Description] in ('Design' ,'Log') 
and 1= case when t1.[Description] = 'Design' 
      and exists (select t2.pid 
         from table1 t2 
         where t2.[Description] = 'Log' 
         and t1.PID = t2.PID) 
      then 1 
      when t1.[Description] = 'Log' 
      and exists (select t2.pid 
         from table1 t2 
         where t2.[Description] = 'Design' 
         and t1.PID = t2.PID) 
      then 1 
     else 0 end ; 
+0

спасибо быстрый ответ, у меня есть 10 типов конструкций, так как это возможно чтобы использовать случай – user3004256

+0

, позвольте мне перефразировать его .. вы хотите выбрать все такие pid, где по крайней мере одна строка существует, у которой есть [Description] как design1 или design2 или .. design10, а также одна такая строка существует, у которой есть [Description] как «Журнал»? – Deepshikha

+0

i wanto отображает те pid, descprition, когда description = 'Design' и Description = 'Log' and Description = '' and ..... – user3004256

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