2017-09-18 4 views
0

Table to pull data fromSQLコマンド - 私は、次のように色の列フィールド内のすべてのデータを一覧表示しようとしている

とてもユニークではないIDからすべての列エントリの取得:

  • Y、M、C、 K、O、水晶の洪水、hr matte uv flood

しかし、私はUniqueProdIDがすべて同じなので問題があります。

これは私のクエリは

SELECT Unit, Color 
FROM ProductColor 
WHERE UniqueProdID = ‘50060’ 
ORDER BY Unit; 

のように見え、私の現在の結果が1Y

+0

ここで言うことは意味をなさない。結果はクエリまたはデータサンプルと一致しません。 – sagi

+0

何ですか?サンプルデータとあなたのSQLが与えられれば、決して '1 | K'を得ることはできません。 '1 | K'はあなたのサンプルのレコードではありません。あなたのSQLはここにすべてのレコードを表示しますが、そうでない場合、これはあなたが実際に使っているSQLではないか、このサンプル・データは実際にはそのテーブルにないか、 UniqueProdID'は結果を抑制するスペースのようなものです。 – JNevill

+0

あなたはあなたの結果を具体化できますか? –

答えて

0

私は、各IDに一意に与えられるすべてのまず:-)事前にありがとうは何かということですIDが同じ番号ではなく、別個の列にバッチIDのようなものを追加することができるもの(固有のID)を持つような主キーの基準を満たさない色や暗い色に特有のIDなどです。色は、これは動作するはず返さ:

SELECT * 
FROM ProductColor 

は、テーブル内のすべてのものを返しますが、私はあなたが、個々の主キーを割り当てるまで、これは動作しませんと仮定しています。

productID unit batchID  color 
50060  1  brightcolor Y 
50061  2  brightcolor M 
50062  3  darkcolor  C 
50063  4  darkcolor  K 

SELECT Unit, Color 
FROM ProductColor 
WHERE batchID = 'brightcolor' 
ORDER BY unit; 

は、明るい色のバッチIDですべての色を返します。 1 | Kと表示したい場合は、結果を返した後でフィールドを連結する必要があります。

0

コンマで連結したいのですか?

SELECT 
    LEFT 
     (
      (
       SELECT Color + ', ' 
       FROM ProductColor 
       WHERE UniqueProdID = '50060' 
       ORDER BY Unit 
       FOR XML PATH ('') 
      ) 
     , 
      LEN 
       (
        (
         SELECT Color + ', ' 
         FROM ProductColor 
         WHERE UniqueProdID = '50060' 
         ORDER BY Unit 
         FOR XML PATH ('') 
        ) 
       ) - 1 
     ) 
+0

ありがとうございますが、コードを使用しても結果は得られません。私はすべてのデータを分離するのを助けるためにカンマが必要です。申し訳ありませんが、合計noobここに:-( – NoobUser

+0

NULLを返しますか? –

+0

私はESKO製品を使用しています。結果は次のとおりです。<< TNameConfigExample/>>これは基本的にnullです。 UniqueProdIDがそれほどユニークではないという、この特定のものだけです。 – NoobUser

関連する問題