2011-05-13 35 views
3

很難爲我構建主題名稱。但是我可以告訴一個例子:如何從同一表中優化幾個「WHERE(Select ....)= value」

WHERE (SELECT [ID_Line] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2 
AND  (SELECT [DataType] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2 

在這裏,我處理2個查詢時,我真的很需要類似的東西:

WHERE (SELECT [ID_Line],[DataType] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2,2 

但SQL不與元組的工作,所以我必須做出Inner Join here?

+0

什麼RDBMS請? – gbn 2011-05-13 10:06:40

+0

@gbn ms sql 2008 express – Cynede 2011-05-13 10:31:43

回答

7

你可以嘗試這樣的事:

WHERE EXISTS (
    SELECT [ID_Line] FROM [Event] WHERE 
     [Event].[Name] = [A].[Col] AND 
     [Event].[ID_Line] = 2 AND 
     [Event].[DataType] = 2 
) 

如果你提供有關完整的查詢和數據庫結構的更多信息,更精確的答案可以給予。這可能不是最好的解決方案。

0

您可以嘗試使用熔化算子來熔化場。在ORACLE PL/SQL中使用|| (雙管),例如。

相關問題