3つのテーブルがあります
アイテム
itemID PK
在庫
quantity charID FK itemID FK
キャラクター
charID PK charName
.
ITEM 1---many INVENTORY 8----1 CHARACTER
キャラクターの在庫に積み上げられている上位 10 個のアイテムと、このアイテムを在庫に積み上げているユーザーを見つけたいと考えています。したがって、最終的には、itemID 1 に 4 つのスタックがあり、これらの charID にアイテムがあり、itemID 2 に 3 つのスタックがあり、これらの charID にアイテムがあるようなものになります。テーブルで。
これは、しばらくこれをやろうとした後、私が現在いるところです
SELECT COUNT(INVENTORY.itemID) as Stacks, ITEM.itemID, CHARACTERS.charName
FROM INVENTORY
INNER JOIN ITEM
ON INVENTORY.itemID = ITEM.itemID
INNER JOIN CHARACTERS
ON INVENTORY.charID = CHARACTERS.charID
WHERE INVENTORY.quantity>1
GROUP BY ITEM.itemID, CHARACTERS.charName
ORDER BY Stacks DESC
GO
私は、単一の行でデータのようなものを取得する代わりに、文字ごとに一連の行に分割しています。たとえば、テーブル ヘッダーは次のとおりです。
Stacks | ITEMID | charName
1 | 1 | Char1
1 | 1 | Char2
しかし、私が欲しいのは
Stacks | ITEMID | charName
2 | 1 | Char1,Char2
どんな助けでも大歓迎ですありがとう:)。質問の形式が標準に達していない場合は、改善方法についてコメントを残してください。