0

これは実行するのが非常に簡単なクエリのように思えますが、私はそれを機能させることができず、なぜこのプロジェクトに取り組むことを選んだのかを再考し始めています.

ID が同一のテーブルに含まれるレコードの数を見つけようとしています。例えば

select productid, productgroup, shelflvl, shelfaisle, Count(Shelfaisle) AS totalaisles
from productlocation
Where productid= productid AND productgroup = 'canned'
Group By productid, productgroup, shelflvl, shelfaisle

同じ ID を持つ製品が、別の通路や別の棚レベルにある場合があります。私がやろうとしているのは、製品がいくつの通路にあるかを確認することだけであり、私の人生ではそれを適切に機能させることはできません.

どんな助けでも大歓迎ですありがとう!

4

4 に答える 4

0

集計しようとしている列でグループ化しないでください。

select productid, productgroup, Count(Shelfaisle) AS totalaisles
from productlocation
Where productid=productid AND productgroup = 'canned'
Group By productid, productgroup
于 2013-10-15T14:36:52.247 に答える
0

これはうまくいきます:

SELECT productid, shelflvl, MIN(productgroup) AS productgroup,
  COUNT(Shelfaisle) AS totalaisles
FROM productlocation
WHERE productgroup = 'canned'
GROUP BY productid, shelflvl
ORDER BY productid;
于 2013-10-15T14:41:52.730 に答える
0

私は、製品が多くproductgroupの s に属することはできないと想定しています。

これはあなたが数えようとしているものなので、Shelfaisleから削除してください。GROUP BY

また、 aCOUNT(DISTINCT Shelfaisle)は重複を防ぎます (該当する場合)。

productid=productid最後に、明らかに常に生成される条件は必要ありませんtrue

簡単に言えば、次のとおりです。

select 
  productid, productgroup, shelflvl, Count(distinct Shelfaisle) AS totalaisles
from productlocation
Where productgroup = 'canned'
Group By productid, productgroup, shelflvl
于 2013-10-15T14:43:04.470 に答える