Проблемы с запросами SQL Server 2005 - PullRequest
0 голосов
/ 07 июня 2009

Предположим, у меня есть такая таблица ...

ColA    ColB    ColC
----------------------
A       100     1
A       200     2
A       300     3
B       100     1
B       200     2
C       300     1

Я должен выбрать COLA, где 100 = 1 и 200 = 2 и 300 = 3

Пожалуйста, помогите

Ответы [ 3 ]

3 голосов
/ 07 июня 2009

Из того, что я понял из вашего вопроса, вам нужно что-то простое, например:

select COLA where ( (COLB=100 and COLC=1) or (COLB=200 and COLC=2) or (COLB=300 and COLC=3) )

или перейдите к более общему:

select COLA where COLB = COLC*100
2 голосов
/ 07 июня 2009
SELECT ColA
FROM   my_table
WHERE  ColB = (ColC * 100);
0 голосов
/ 07 июня 2009

Есть несколько способов справиться с этим, но это, вероятно, самый простой способ, и он будет вполне приличным с учетом ваших альтернатив:

SELECT ColA
FROM  MyTable
WHERE (ColB = 100 AND ColC = 1)
OR (ColB = 200 AND ColC = 2)
OR (ColB = 300 AND ColC = 3)
GROUP BY ColA
HAVING COUNT(*) = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...