繁体   English   中英

复杂的SQL查询

[英]Complicated SQL query

有谁知道如何构造以下查询:

桌子:

TBL_GAME                 id,      name
TBL_CATEGORY             id,      name
LU_GAME_TO_CATEGORY      gameid,  catid
LU_GAME_TO_EVENT         eventid, gameid

因此,基本上Categories有很多游戏。

Events有很多游戏。

我想生成一个报告,以显示在Events中使用的Games数量列出的Categories 按金额降序排列。

这可能吗 ?

SELECT
       c.id                 as catId,
       c.name               as catName,
       g.id                 as gameId,
       g.name               as gameName,
       sum(ge.INT_QUANTITY) as totalQuantities
FROM
       TBL_CATEGORY         as c,
       TBL_GAME             as g,
       LU_GAME_TO_CATEGORY  as gc,
       LU_GAME_TO_EVENT     as ge
WHERE
       c.id = gc.catId     AND
       g.id = gc.gameId    AND
       g.id = ge.gameId
GROUP BY
       c.id,
       g.id
ORDER BY
       totalQuantities desc,
       c.name,
       g.name
SELECT A.ID, SUM(D.INT_QUANTITY) AS YourSum
FROM TBL_CATEGORY A --Adapt your selected columns 
INNER JOIN LU_GAME_TO_CATEGORY B ON A.id = B.catid
INNER JOIN TBL_CATEGORY C ON B.gameid = C.id
INNER JOIN LU_GAME_TO_EVENT  D ON C.gameid = D.gameid
GROUP BY A.ID
ORDER BY YourSum DESC;

在这里我不调整金额,因为列不存在。 您必须在目标表中添加金额列

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM