php - MySQL 过程(帮助)

标签 php mysql sql-server stored-procedures

我的数据库中有几个表,例如

评论 地位 事件

我正在尝试创建一个 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/

相关文章:

sql - 存储过程在特定用户上失败

sql - 基于子字符串连接2个sql表

php - 如何更改 Woocommerce 星级评分的位置

php - 使用 PHP 检测链接内容类型

C# SQL : update with params - getting 0 and without the text

php - 搜索前 500 个字母并排除 html 标签?

php - 提取两个值之间的所有字符串

javascript - PHP 动态 CSS ... 在 Javascript 中?

php - 下拉列表为空

sql - 需要帮助编写在(sql server 2008 和另外 3 个文件中执行 sql 脚本)的 bat 文件。?