我的SQL查询有问题。
我想连接两个表,条件是使用where id_pegawai和status = 1。
表1:
SELECT * FROM form_pertambahan_anak

表2:
SELECT *
FROM peg_dtl_anak
WHERE id_pegawai = '0000000360'

我的问题是:
SELECT
fpa.id_pegawai, fpa.tanggal_pengusulan, fpa.id_anak,
pda.id, pda.nama_anak, fpa.deleted_at, fpa.status
FROM
form_pertambahan_anak fpa
INNER JOIN
peg_dtl_anak pda ON pda.id_pegawai = fpa.id_pegawai
WHERE
fpa.id_pegawai = '0000000360'
AND fpa.deleted_at IS NULL
AND fpa.status = '1'

为什么返回2行数据?1期望只显示来自form_pertambahan_anak和status = 1的1条数据。
发布于 2022-11-16 08:58:32
据我所见,您需要在查询中添加一个id_anak相等条件:
SELECT fpa.id_pegawai
, fpa.tanggal_pengusulan
, fpa.id_anak
, pda.id
, pda.nama_anak
, fpa.deleted_at
, fpa.status
FROM form_pertambahan_anak fpa
INNER JOIN peg_dtl_anak pda ON pda.id_pegawai = fpa.id_pegawai
AND pda.id = fpa.id_anak --here
WHERE fpa.id_pegawai = '0000000360'
AND fpa.deleted_at IS NULL
AND fpa.status = '1'https://stackoverflow.com/questions/74457441
复制相似问题