【问题标题】:How correct query for group by when joining table using left join使用左连接连接表时如何正确查询 group by
【发布时间】:2015-05-22 05:01:40
【问题描述】:

此查询不断返回错误:

不是 GROUP BY 表达式

有人可以帮我更正我的查询吗?我不擅长加入表格。

select distinct(nama), namabapa, data_saranabapa.nokpbapa, namaibu, data_saranaibu.nokpibu
from ((data_semua_murid
      left join data_saranabapa on data_semua_murid.nokpbapa=data_saranabapa.nokpbapa)
      left join data_saranaibu on data_semua_murid.nokpibu=data_saranaibu.nokpibu)
where kodsekolah='WBA0002'
group by namabapa
order by namabapa asc

【问题讨论】:

  • 您需要按以下方式分组:nama,namabapa, data_saranabapa.nokpbapa, namaibu, data_saranaibu.nokpibu ....查看此帖子::stackoverflow.com/questions/13962772/…
  • 谢谢大佬.. 解决了!
  • DISTINCT 不是列上的函数,它适用于整个选定的行。选择不同的(nama),namabapa... eq 选择不同的 nama,namabapa... eq 选择不同的 nama,(namabapa)...
  • 这是哪个 dbms?一般的 GROUP BY 规则说:如果指定了 GROUP BY 子句,则 SELECT 列表中的每个列引用必须要么标识一个分组列,要么是一个集合函数的参数。

标签: sql join group-by


【解决方案1】:

您必须按您在查询中选择的所有列进行分组

select distinct(nama), namabapa, data_saranabapa.nokpbapa, namaibu, data_saranaibu.nokpibu
from ((data_semua_murid
      left join data_saranabapa on data_semua_murid.nokpbapa=data_saranabapa.nokpbapa)
      left join data_saranaibu on data_semua_murid.nokpibu=data_saranaibu.nokpibu)
where kodsekolah='WBA0002'
group by nama, namabapa, data_saranabapa.nokpbapa, namaibu, data_saranaibu.nokpibu
order by namabapa asc

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 2019-01-15
    • 2015-10-13
    • 2012-12-09
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多