sql - 当子数据表值为空时返回记录
问题描述
我对 SQL 还是很陌生,有点想深入了解这里。
我正在 Excel 中从头开始构建一个工具,该工具利用和访问数据库——虽然基本查询并没有给我带来任何严重的问题——但更复杂的是。
我有四张桌子。用户、问题、投票和评论。
一个用户可以创建很多问题,一个问题可以有很多投票,一个问题也可以有很多评论。
我想创建一个显示问题列表的查询,其中包含每个问题的 vote_id 和 comment_id 计数
即问题 1 有 3 票和 4 条评论,依此类推 - 但是当项目的评论或票数为零时,我的查询根本没有返回任何内容
SELECT
users.user_name
, Count(vote.query_id) AS CountOfquery_id
, Count(comments.query_id) AS CountOfquery_id1
, issues.query_id
, issues.query_raised_by
, issues.query_raised_date
, issues.query_summary
, issues.query_status
, issues.query_status_date
, issues.query_detail
, issues.query_response
, issues.query_tag1
, issues.query_tag2
, issues.query_tag3
, issues.query_tag4
FROM
(
(users INNER JOIN issues
ON users.user_id = issues.query_raised_by)
INNER JOIN vote
ON issues.query_id = vote.query_id)
INNER JOIN comments
ON issues.query_id = comments.query_id
GROUP BY
users.user_name
, issues.query_id
, issues.query_raised_by
, issues.query_raised_date
, issues.query_summary
, issues.query_status
, issues.query_status_date
, issues.query_detail
, issues.query_response
, issues.query_tag1
, issues.query_tag2
, issues.query_tag3
, issues.query_tag4;
是否有捷径可寻?我是否使问题过于复杂化?
基本上我想在 Excel 中填充一个表格,其中包含问题列表以及每个问题的投票数和评论数,我怎样才能计算工作?
解决方案
@Dekks 建议使用 Left Join 而不是 Inner Join - 我只是用谷歌搜索了不同连接的作用,现在它更有意义了。
只是想为您发布更新,以防它帮助其他人:)
推荐阅读
- java - javax.xml.parsers.FactoryConfigurationError:未找到提供程序 org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
- c# - C# - 数据库上下文转换返回
- python - 第一个时代比其他时代花费的时间更长
- java - 如何用更有效的方法替换 groupBy
- node.js - 将多个路由添加到单个路由后,值未正确路由
- javascript - 比较功能:当用户向比较滑块的左侧或右侧滑动时如何隐藏文本
- mapbox - Mapbox:如何为矢量类型生成源 URL
- javascript - 如何在通过ajax提交表单后立即显示数据?
- python - 熊猫数据框作为字符串连接加入/合并到单列中,便宜吗
- java - 如何使用 spring-mvc 搜索和获取数据库中的值?