0

このクエリは、2 つのテーブルからDBKEYと結果を返します。DBPArentProductKEy

select 
    pog.DBKey
    ,pos.DBParentProductKey
    , pro.Name
from ix_spc_planogram as pog with (nolock)
     , ix_spc_position as pos with (nolock)
     , ix_spc_product as pro with (nolock)
where 
     pog.dbkey = pos.dbparentplanogramkey
     and pos.dbparentproductkey=pro.dbkey 
     and pog.Value4= 358

例:

DBKEY    DBPArentProduct KEy
1        0123
1        0124
1        0125
2        0126
3        0123
3        0124
3        0125

DBKEYSまったく同じ製品が重複しているかどうかを判断できるクエリが必要です。たとえば、例DBKEY1 はDBPArentProductKeysDBKEY3 とまったく同じです。重複を特定できるように、これを見つける必要があります。この問題について考えるもう 1 つの方法は、 order が でDBKEYあり、 Products がであるまったく同じ製品を持っている注文の数を知りたいということDBPAREntPRoductKeyです。

これが可能であれば、どんな助けでも大歓迎です。

4

1 に答える 1

0

SQLのどのフレーバーですか?Oracle、SQL Server、およびMySQLは、この方法でそれを行うことができます...

SELECT count(*), DBParentProductKEy
FROM (
    select pog.DBKey
    ,pos.DBParentProductKey
    , pro.Name
    from ix_spc_planogram as pog with (nolock)
    , ix_spc_position as pos with (nolock)
    , ix_spc_product as pro with (nolock)
    where pog.dbkey = pos.dbparentplanogramkey
    and  pos.dbparentproductkey=pro.dbkey 
      and pog.Value4= 358)
GROUP BY DBParentProductKEy
HAVING COUNT(*) > 1
于 2012-06-25T11:53:30.463 に答える