2011-01-11 43 views
1

我有一個表,例如SomeTable與列IDLineMachineSlot如何實現以下查詢

是否有可能做出如下查詢以及如何處理?

我有一個ID列表來獲得結果表與結果,如果我的列表中的值位於表中。

如果它在表中得到一些積極的結果,如果不是一些負面的結果。

感謝您的幫助。

+1

你的描述不是很清楚。您可以發佈表中的數據示例以及每種條件的預期輸出嗎? – Oded

+0

你使用的是MySQL還是SQL Server 2005?它們是有區別的! – Vishal

+0

@Misnomer:我需要它的兩個 –

回答

2

SQL Server,你需要聲明一個表變量,並用你的IDS填充:

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

。他還需要一個MySql解決方案。 – Oded

+0

我不能在查詢中以某種方式查找我的列表嗎? –

+0

@Night Walker - 你想使用外部文件作爲ID列表?你需要告訴我們! – JNK

0

罷工(我的)回答。

當你說「path in」是指「傳入」還是指向外部文件系統中的文件?