2012-06-28 23 views
5

同じ表の2つの列を比較したいと思います。私は2つの列が同じ値を持つすべての行を返すことができるようにしたい。同じテーブルの2つの列を比較するにはどうすればよいですか?

私はSELECT * FROM FOO WHERE C1 = C4のようなものをお探ししています。それが重要な場合、私はSQLite(より具体的WebSQL)を使用してい

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

:私は最初の行のみを返す以下の例ではこのため

+8

SELECT * FROM FOO WHERE C1 = C4は動作するはずです。それはありませんか?そうでない場合、それらのデータ型と長さは同じですか?変換する必要があるかもしれません。私はWebSqlについてはわかりませんが、同じ値を保持していてもvarchar(5)とvarchar(10)が一致すると拒否するDBシステムがいくつか見られました。これらのシステムでは、Convert(varchar、10、FieldName)を使用して一致を取得する必要があります。 – David

+0

@DavidStrattonどのように恥ずかしい!それは完全に動作します。私はwhere節でselectをラップしようとしていました。これまでのところ愚かな疑問。 – JonWells

+6

全くありません。私たちは皆、そんなことをする。 – David

答えて

9

SELECT * FROM FOO WHERE C1 = C4が有効です。それはありませんか?

そうでない場合、データ型と長さは同じですか?変換する必要があるかもしれません。

私はWebSqlについてよくわかりませんが、同じ値を保持していてもvarchar(5)とvarchar(10)の両方が一致すると拒否するdbシステムがいくつか見られます。 これらのシステムでは、

Convert(varchar, 10, FieldName) 

のようなものを使用する必要があります。

関連する問題