2017-01-09 7 views
0

私はSQLとプログラミングに比較的新しいので、忍耐してください。SQLクエリで変数を句として使用するにはどうすればよいですか?

私は次のような3つの列があるテーブルを有する:

penID inkID color 
01  2  red 
02  2  red 
03  2  red 
04  1  blue 
05  1  blue 
06  3  black 
07  3  purple 
08  -5  yellow 

はすべて単一ペンに固有のペンIDがありますが、すべてのinkIDは(すべてのペンがinkID = 2べき有する正しい色をですに対応しなければなりません赤にしか対応していませんが)私は追跡する必要があるいくつかの異常があります。 今、数字が連続していない数千のインクIDを持っているとします(2,6,7,8,11..

実行可能なすべてのInkIDのリストを取得するクエリでした同じインクIDに異なる色があるかどうかを確認するために、すべての単一のInkIDに対する別のクエリ。

私は何千もあるので、何千ものクエリを手作業で書く必要はありません(チャンスではありません)。 私は、最初のクエリの出力をリストに格納し、2番目のクエリのすべてのリスト項目を変数として渡すためにC#フレームワークを使用することを検討していましたが、それが可能かどうかわかりません。

これは、これまでのところ、私の2番目のクエリです:?

Select distinct Color 
from TableName 
where InkID = 12 

(のは、議論のために12をしましょう)

任意の提案、私が使用することができ、他のアプローチはありますか?あなたが割り当てられた複数の色でInkIDsのすべてを返します

SELECT inkID, COUNT(DISTINCT color) 
FROM TableName 
GROUP BY inkID 
HAVING COUNT(DISTINCT color) > 1; 

を行う場合

は事前

+0

なぜ何千ものクエリを書く必要があると思いますか?私は基本的なSQLチュートリアルでgoogleの検索を行うことを提案し、それについても同様に 'Parameterized Query'トンの例をオンラインで呼び出すように構築する方法をお勧めします。 – MethodMan

+0

あなたの作品をこのターゲットに含めると素晴らしいでしょう。 –

+1

'インクの種類を選択すると、それぞれのインクの色とインクの色のリストが表示されます。あなたが実際に色をしたい場合は、 'テーブルから色分けして色を選択する ' – juharr

答えて

1

でいただきありがとうございます。

+1

' DISTINCT'は機能ではありません! 'COUNT(DISTINCT color)'はコードを明確にします! – jarlh

+0

それはうまくいきました、ありがとう – Ylenia88m

関連する問題