質問

Select a, b, c from table where a in (1, 2, 3)

リストは、列にどのようなものですか?

私は、これはエラーになり試すます:

Select a, b, c from a in b

私の質問をクリアしていないため申し訳ありません。

これは、の または

(テーブルからBを選択)に参加程度ではありません

列B型はnvarchar型で、データがこのようなリストは、ある '1,2,5'

コラム型はintです。

正しい解決策はありません

他のヒント

あなたの質問を読んだ後、これはあなたが望むものである。

SELECT
    a,b,c
FROM
    tblA
WHERE
    b LIKE CAST(a as nvarchar) + ',%'
    OR b LIKE '%,' + CAST(a as nvarchar) + ',%'
    OR b LIKE '%,' + CAST(a as nvarchar)

それはそれを行う必要があります。

正しい方向に向いて多くの答えを、私はこの1つは実際に動作すると思います:

SELECT a, b, c
FROM table
WHERE ',' + b + ',' LIKE '%,' + CAST(a as varchar) + ',%'

あなたは始まり、カンマで終わるBを強制することによって、これをスピードアップすることができます。またはより良い、データベースを正規化し、一対多の関係で独自のテーブルに列Bを移動します。

はSQLでは、カラムは、通常、いわゆる「スカラー」データ型のいずれかのある:番号、日付/時間、ストリング - 例えば参照 MSDN に。あなたはどのような意味で、より良い説明した場合は、列bに「リスト」を得て、どのように、例えば私たちCREATE TABLE a文を示し、我々はおそらくあなたを助けることができる、より良い!

を参照してください。 の個々の列に対するストアドプロシージャのリストパラメータに一致する、SQLクエリのヘルプが必要です。それはあなたの「リスト」欄を取ると、あなたがから選択しているものに対して結合するために使用することができますテーブルを返しますUDFを作成する方法を示しています。

私はあなたがテーブルに参加したいと思いますか?

SELECT a, b, c
FROM a
JOIN b ON a.ID=b.ID
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top