【发布时间】:2021-03-04 20:51:02
【问题描述】:
我有一个名为 jenis_kelamin 的列,我想在选择查询中显示男性和女性的性别。我有这样的查询,但是出来的数据还是错误的,正确的方法是什么?
SELECT distinct mj.id, mj.nama_pd,
(select distinct count(jenis_layanan) from public.isian_kuis
where jenis_kelamin = 'Laki' ) as jumlah_laki,
(select distinct count(jenis_layanan)
from public.isian_kuis
where jenis_kelamin = 'Perempuan' ) as jumlah_perempuan
FROM public.master_jabatan mj
join isian_kuis ik on ik.jabatan_id = mj.id
group by mj.id,mj.nama_pd
order by mj.id;
【问题讨论】:
-
提供一些示例数据(5-10 行)作为 CREATE TABLE + INSERT INTO(代码格式的文本,而不是图片!)以及该数据的所需输出。
-
附言。您的子查询每个返回一行(没有 GROUP BY),因此 DISTINCT 在它们中没有任何意义。
-
如果这就是你得到的,那么没有
master_jabatan的ID等于任何isian_kuis的jabatan_id -
@akina 我的问题改了,希望你能理解
-
我说了,图片没用,提供文字样例数据。
标签: sql postgresql