我的数据库中有几个表,例如
评论 地位 事件
我正在尝试创建一个 SQL 查询过程,该过程根据输入的用户 ID 对来自这些不同表的数据进行计数,然后将计数相加以创建一个唯一值。到目前为止,这是我尝试过的方法,但我在语法方面遇到了问题。我哪里错了??
SELECT COUNT(user_id) AS comments FROM comment
WHERE user_id= userID
UNION ALL
SELECT COUNT(creator_id) AS events FROM event
WHERE creator_id=userID;
最佳答案
在联合中,字段根据顺序合并。因此,在联合的每个部分中给计数字段一个不同的名称并不会产生两个字段。最后变成同一个领域。要区分哪个值来自哪个表,请添加一个硬编码字符串文字,如下所示:
SELECT COUNT(user_id) AS rows, 'comment' as tablename FROM comment
WHERE user_id= userID
UNION ALL
SELECT COUNT(creator_id) AS rows, 'event' as tablename FROM event
WHERE creator_id=userID;
关于php - MySQL 过程(帮助),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807739/