2011-01-11 4 views
1

У меня есть таблица, называемая, например, SomeTable с колонками IDLineMachineSlot.Как реализовать следующий запрос

Можно ли сделать следующий запрос и как?

У меня есть список идентификаторов, чтобы получить таблицу результатов с результатами, если значения из моего списка находятся в таблице.

Если в таблице получится положительный результат, если нет отрицательного результата.

Спасибо за помощь.

+1

Ваше описание не очень ясное. Можете ли вы опубликовать примеры данных, которые находятся в таблице, и ожидаемый результат для каждого условия? – Oded

+0

Используете ли вы MySQL или SQL Server 2005? Есть разница! – Vishal

+0

@Misnomer: Мне нужно это для обоих –

ответ

2

В SQL Server, вам нужно объявить переменную таблицы и заполнить его с идентификаторами:

DECLARE @myids TABLE (id INT NOT NULL PRIMARY KEY) 

INSERT 
INTO  @myids 
VALUES (1) 

INSERT 
INTO  @myids 
VALUES (2) 

… 

SELECT CASE s.id WHEN t.id THEN 1 ELSE 0 END 
FROM @myids t 
LEFT JOIN 
     sometable s 
ON  s.id = t.id 

В обеих системах, вы можете использовать встроенные наборы:

SELECT CASE s.id WHEN t.id THEN 1 ELSE 0 END 
FROM (
     SELECT 1 AS id 
     UNION ALL 
     SELECT 2 AS id 
     UNION ALL 
     … 
     ) t 
LEFT JOIN 
     sometable s 
ON  s.id = t.id 
+0

SQL Server. Он также нуждается в решении MySql. – Oded

+0

Я не могу указать путь в запросе как-то мой список? –

+0

@Night Walker - вы хотите использовать внешний файл в качестве списка идентификаторов? Вы должны сказать нам это! – JNK

0

удар, который (мои) ответ.

Когда вы говорите «путь в», вы имеете в виду «пройти» или указать на файл во внешней файловой системе?

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