将两个MYSQL查询列结果合二为一在ORDER BY中使用

萨贾德·侯赛因·萨戈尔

我有两个查询来获取用户硬币和宝石的价值。我可以单独获取每个字段值,但我希望它们一起作为附加值..(硬币+宝石)值在 ORDER BY 中使用

使用此 SQL 查询,我可以获得硬币字段值...

SELECT user_id, meta_value as total_coins FROM wp_usermeta WHERE meta_key = '_coin' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,10

硬币查询结果

并使用它来获取 gems 字段值...

SELECT user_id, meta_value as total_gems FROM wp_usermeta WHERE meta_key = '_gems' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,10

宝石查询结果

我想要的是获取_coin字段值,然后为那个 user_id 获取_gem字段值,然后将这两个值合二为一......比如 690+21 = 711 作为 total_points .. 像这样的东西..

`SELECT ( 

    SELECT meta_value FROM `wp_usermeta` as ue1

    WHERE meta_key = '_coin' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,50

) AS coins,
( 

    SELECT meta_value FROM `wp_usermeta` as ue2 

    WHERE ue2.user_id = ue1.user_id AND meta_key = '_gem' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,50

) AS gems,

coins+gems AS total_points

FROM wp_usermeta

ORDER BY total_points LIMIT 0, 50`

我知道这个 SQL 不正确,这就是为什么我需要帮助..请帮我纠正这个 SQL

scaisEdge

您应该使用连接同一个表并重复添加代码,而不是使用多个子查询

  SELECT ue1.meta_value coins , ue2.meta_value gems
       , ue1.meta_value + ue2.meta_value total_points
  FROM `wp_usermeta` as ue1
  INNER JOIN `wp_usermeta` as ue2 ON ue1.user ue2.user_id = ue1.user_id
      AND ue1.meta_key = '_coin' 
        AND ue2. meta_key = '_gem'
  WHERE ue1.meta_value > 0 
  AND   ue2.meta_value > 0 
  ORDER BY total_points LIMIT 0, 50

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不使用临时表,将两个查询合二为一

来自分类Dev

使用 LINQ 将两个实体合二为一

来自分类Dev

使用媒体查询将两部分合二为一

来自分类Dev

将两个查询合二为一

来自分类Dev

将两个 SELECT 查询合二为一

来自分类Dev

使用Codeigniter将Concat 2列合二为一

来自分类Dev

将两个查询结果合并为一个,然后使用该结果计算另一列

来自分类Dev

如何在MySQL中使用子查询显示两个表的混合结果?

来自分类Dev

如何在MySQL中使用子查询显示两个表的混合结果?

来自分类Dev

如何使用sp将两个选择查询结果合并为一个结果?

来自分类Dev

如何使用sp将两个选择查询结果合并为一个结果?

来自分类Dev

将两行结果查询合二为一

来自分类Dev

在mysql查询中使用两个内部联接

来自分类Dev

在MySQL中使用子查询联接两个表

来自分类Dev

两个sql select查询合二为一

来自分类Dev

使用内连接查询将 2 表合二为一

来自分类Dev

如何将两个列表项的结果显示为一个,以获得多个结果。在Selenium Webdriver中使用Java

来自分类Dev

使用CTE和/或ORDER BY比较两个查询的结果

来自分类Dev

将两个饼图合二为一

来自分类Dev

将两个常数合二为一

来自分类Dev

将两个循环合二为一

来自分类Dev

将两个窗口合二为一

来自分类Dev

jQuery:将两个元素合二为一

来自分类Dev

将两个文件合二为一

来自分类Dev

将两个网格合二为一

来自分类Dev

将两个查找命令合二为一

来自分类Dev

将两个选择语句合二为一

来自分类Dev

在另一个查询中使用MySQL结果

来自分类Dev

将两个查询合二为一,SQL MS Access 2007