mysql - SQL 查询未对结果进行分组

标签 mysql sql join

我有一个通过user_id连接几个表的sql查询,问题是我想查看这些表中的所有数据。

目前我正在查询用户表和付款表,并根据 user_id 将它们连接起来。

我似乎每个 user_id 只得到一个结果,现在我知道这意味着会发生什么,但是我如何(如果可能)能够显示付款表中的所有数据(即我想看到多个显示用户已进行的各种付款的用户 ID。

我目前正在使用左连接,我认为这可能是问题所在,但切换它仍然没有显示我正在寻找的结果。

这是我当前的加入:

from user u 
left join u_subscription us 
on u.user_id = us.user_id 
left join u_detail ud 
on u.user_id = ud.user_id

任何帮助将不胜感激。

提前致谢

纳德

完整的sql查询:

select u.user_id as 'prop:User id', u.user_username as 'prop:username', u.user_email as 'Identity',u.user_created as 'Timestamp', us.user_subscription_expires as 'prop:Expires on', us.user_subscription_payment_provider as 'prop:Payment provider', us.user_subscription_modified, ud.user_detail_signup_country_iso3 as 'prop:Country'

from user u
left outer join user_subscription us
on u.user_id = us.user_subscription_user_id
left outer join user_detail ud
on u.user_id = ud.user_detail_user_id

最佳答案

我发现您的查询没有任何缺陷。它应该按预期工作。

我怀疑 subscriptiondetail 表中每个用户的行数不超过一行。这就是为什么您的左联接为每个用户生成一行(如果是内部联接,则每个用户至多生成一行)。

关于mysql - SQL 查询未对结果进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19228336/

相关文章:

sql - 哪种条件组合方式更适合工会?

MYSQL 预订空房查询

java - 您如何将 Java 字符输入 MYSQL 数据库,然后再检索它们?

mysql - MySQL 日期时间查询的奇怪问题

sql - CoffeeScript,寻找类似 SQL 的模块

sql - 将日期和时间组合(连接)为日期时间

mysql - 计算列上的内连接

php - 仅返回在 MYSQL 查询中找到的记录数

php - MySQL 查询由于标点符号不匹配

mysql - 将连接应用于整个 mySQL 表