2016-08-25 5 views
0

私は現在、下の図のような表を継承しています。割り当てられた時間に何をすべきかを知るためのリソースはありません。データを別々のテーブルに正規化することは、冗長性を排除するためにいくつかの小さなテーブルに分割することです。NULL値を扱うスマートクエリ

短期的な解決策は、各製品タイプのクエリを作成し、それをParentSKUに基づいて新しいテーブルに格納することです。下の画像では、3つのParentSKUsの例ごとに異なるクエリが必要です。これは問題なく動作しますが、新しい属性がSKUに追加された場合は、クエリを手動で調整する必要があります。短期的には理想的でしょうが(おそらくそれほど可能性は低い)、NULL値が存在しない場合にのみ属性を表示して表示するクエリを考え出すことができます。 3つのParentSKUそれぞれの望ましい結果は、以下の例の場合と同じです。合計で3つのクエリしかない場合、それは十分に簡単ですが、各製品の製品とカテゴリに基づいて数十の組み合わせがあります。

私は確かに仕事の男性ではありませんが、私は毎日このサイトを頻繁に利用しているので、より良い方向に私を導くことができるかもしれません。おそらくここでは不可能だと私は思っていますが、「愚かな質問はありません。さまざまな理由で、StackOverflowユーザーの怒りをうまくやっています。 さて、私は少し飾ってくれましたが、あなたは私の意見を得ています...

これは現在MySQLデータベースです。

お手数をおかけしていただきありがとうございます。

Table Example and Current Query Results

+1

プレイを取るSKUTypesのすべての行のためのSQLクエリを生成するスクリプトを作成

SELECT ParentSKU , count(Attr1) as Attr1,.. FROM tbl_attr GROUP BY ParentSKU; 

の結果とSKUTypesを作成与えられた 'SKU'の列がレコードの一部だけに' NULL'を持っていたら、何がルールになるのでしょうか?その列はまだドロップされますか?ところで、私はあなたが動的SQLなしでこれを行うことはできないと思います。たぶん、少し痛いかもしれない代替案を見つけることができます。 –

答えて

0

まず毎AttrN列値> 0

関連する問題