2

次のような ID で識別されるクライアントの詳細のテーブルが 1 つあります。

ID (the clientcode), Name, Details

売上情報を含む別のテーブルから ID を参照し、クエリでクライアントの名前を取得したいと考えています。

ID (clientcode) だけを取得した元のクエリ文字列は次のとおりです。

SELECT clientcode, SUM(sales) FROM inventory WHERE manufacturer='1' 
  GROUP BY client code ORDER BY SUM(sales) DESC

clientcode が参照するクライアントの名前も取得したいと思います。

LEFT JOIN をいくつか試しましたが、クエリが機能しませんでした。

4

5 に答える 5

2
SELECT i.clientcode
     , c.name
     , SUM(i.sales)
  FROM inventory i
  LEFT
  JOIN clientdetails c
    ON c.id = i.clientcode
 WHERE i.manufacturer='1' 
 GROUP BY i.clientcode, c.name
 ORDER BY SUM(i.sales) DESC
于 2012-09-04T15:18:33.117 に答える
1

これを実現するための簡単なクエリは次のとおりです。

SELECT i.clientcode, d.name, SUM(i.sales) FROM inventory i, details d
WHERE i.manufacturer='1'
  AND d.clientcode = i.clientcode
GROUP BY i.clientcode ORDER BY SUM(i.sales) DESC
于 2012-09-04T15:19:37.300 に答える
1

ほら、これ試してみて。

SELECT  inventory.clientcode, 
        SUM(inventory.sales),
        clientdetails.Name
FROM inventory 
        INNER JOIN clientdetails
            ON inventory.clientcode = clientdetails.clientcode
WHERE inventory.manufacturer='1' 
GROUP BY inventory.clientcode, clientdetails.Name
ORDER BY SUM(inventory.sales) DESC
于 2012-09-04T15:20:03.723 に答える
1

これでできるはず

SELECT c.ID, c.name, SUM(i.sales) 
FROM inventory i
JOIN clients c ON c.ID = i.clientcode
WHERE i.manufacturer='1' 
GROUP BY c.ID, ORDER BY SUM(i.sales) DESC
于 2012-09-04T15:18:18.760 に答える
0
SELECT  a.clientcode, 
        SUM(a.sales),
        b.Name
FROM inventory a
        INNER JOIN clientdetails b
            ON a.clientcode = b.clientcode
WHERE a.manufacturer='1' 
GROUP BY a.clientcode, b.Name
ORDER BY SUM(a.sales) DESC
于 2012-09-04T15:23:23.143 に答える