在多个条件下或在 postgresql 中查找 id

look for id in multiple condition or in postgresql

我有这样的查询:

select a.*, mw.nama_pro, mw.kode_pro, mw.nama_kab, mw.kode_kab, mw.nama_kec, mw.kode_kec, mw.nama_kel, mw.kode_kel
from anggota a
left join matview_wilayah mw on mw.id = a.id_wilayah
join pekerjaan p on p.id = a.status_pekerjaan
where a.id_parpol = 7
and mw.id_pro = a.id_wilayah 
or a.nama like '%Anggota%'

但是出现的数据是这样的:

+----+-----------+-----------+
| id | id_parpol | nama      |
+----+-----------+-----------+
| 21 | 7         | Anggota 1 |
| 22 | 7         | Anggota 2 |
| 23 | 7         | Anggota 3 |
| 31 | 8         | Anggota 6 |
| 32 | 8         | Anggota 7 |
| 52 | 9         | Anggota 9 |
+----+-----------+-----------+

我期望的数据输出是这样的:

+----+-----------+-----------+
| id | id_parpol | nama      |
+----+-----------+-----------+
| 21 | 7         | Anggota 1 |
| 22 | 7         | Anggota 2 |
| 23 | 7         | Anggota 3 |
+----+-----------+-----------+

只需将 where 的最后 2 个语句分组:

select a.*, mw.nama_pro, mw.kode_pro, mw.nama_kab, mw.kode_kab, mw.nama_kec, mw.kode_kec, mw.nama_kel, mw.kode_kel
from anggota a
left join matview_wilayah mw on mw.id = a.id_wilayah
join pekerjaan p on p.id = a.status_pekerjaan
where a.id_parpol = 7
and (mw.id_pro = a.id_wilayah 
or a.nama like '%Anggota%')