2012-06-28 71 views
5

我想比較同一個表中的兩列。我希望能夠返回兩列具有相同值的所有行。如何比較同一個表中的兩列?

我在尋找類似SELECT * FROM FOO WHERE C1 = C4的東西。如果它的事項

C1 || C2 || C3 || C4 
-------------------------- 
1  || a || b || 1 
2  || a || b || 4 
3  || b || d || 2 
4  || b || d || 2 

,我使用SQLite(更具體WebSQL):

因此,在下面的例子中我將只返回第一行。

+8

SELECT * FROM FOO where C1 = C4 should be working。不是嗎?如果不是,他們是相同的數據類型和長度?您可能需要轉換。我不知道WebSql,但我看到一些數據庫系統拒絕匹配,如果一個是varchar(5),另一個是varchar(10),即使它們保持相同的值。在這些系統中,你必須使用Convert(varchar,10,FieldName)來獲得一個匹配。 – David

+0

@DavidStratton多麼尷尬!它完美的作品。我試圖在選擇條款的地方。迄今爲止最蠢的問題。 – JonWells

+6

NOt。我們都做這樣的事情。 – David

回答

9

SELECT * FROM FOO WHERE C1 = C4應該工作。不是嗎?

如果不是,他們是相同的數據類型和長度?您可能需要轉換。

我不知道WebSql,但我見過一些數據庫系統拒絕匹配,如果一個是varchar(5),另一個是varchar(10),即使它們保持相同的值。 在這些系統中,你必須使用像

Convert(varchar, 10, FieldName) 

東西拿到比賽。