i have two table in my database
tb_bengkel, this is data of tb_bengkel
+------------+--------------+----------------+--------------+
| id_bengkel | nama_bengkel | alamat_bengkel | id_sparepart |
+------------+--------------+----------------+--------------+
| 1 | sejahtera | jl psm | 1,2 |
| 2 | abadi | jl jakarta | 1 |
| 3 | toyota | jl soeta | 3 |
| 4 | honda | jl cikapundung | 1,2,3 |
+------------+--------------+----------------+--------------+
tb_ranking, and this is data of tb_ranking
+------------+--------------+------------------+---------------------+---------+--------------+
| id_ranking | id_kendaraan | total | tanggal | service | id_sparepart |
+------------+--------------+------------------+---------------------+---------+--------------+
| 79 | 12 | 0.77386363636364 | 2020-05-03 11:01:00 | 0 | 1 |
| 80 | 10 | 0.68516666666667 | 2020-05-03 11:01:00 | 0 | 1,2 |
| 81 | 22 | 0.67926571428571 | 2020-05-05 13:01:00 | 0 | 1,2,3 |
| 82 | 11 | 0.61842857142857 | 2020-05-04 13:01:00 | 0 | 2 |
+------------+--------------+------------------+---------------------+---------+--------------+
i have field id_sparepart in tb_bengkel and tb_ranking, and i want to select data where id_sparepart in tb_bengkel is the contents of id_sparepart in tb_ranking
i try this query,
select tb_bengkel.id_bengkel,tb_bengkel.nama_bengkel,tb_bengkel.id_sparepart, tb_ranking.id_ranking,tb_ranking.id_sparepart
from tb_bengkel inner join tb_ranking
on tb_bengkel.id_sparepart=tb_ranking.id_sparepart;
the result of query:
+------------+--------------+--------------+------------+--------------+
| id_bengkel | nama_bengkel | id_sparepart | id_ranking | id_sparepart |
+------------+--------------+--------------+------------+--------------+
| 2 | abadi | 1 | 79 | 1 |
| 1 | sejahtera | 1,2 | 80 | 1,2 |
| 4 | honda | 1,2,3 | 81 | 1,2,3 |
+------------+--------------+--------------+------------+--------------+
but the data that should appear is the data in tb_ranking whose id_sparepart is available in tb_bengkel for example, id_ranking 79 has id_sparepart 1 then there should appear 3 in
+------------+--------------+--------------+------------+--------------+
| id_bengkel | nama_bengkel | id_sparepart | id_ranking | id_sparepart |
+------------+--------------+--------------+------------+--------------+
| 1 | sejahtera | 1,2 | 79 | 1 |
| 2 | abadi | 1 | 79 | 1 |
| 4 | honda | 1,2,3 | 79 | 1 |
+------------+--------------+--------------+------------+--------------+
because id_bengkel has the availability of id_sparepart 1
example two, in id_ranking 82 has id_sparepart 2, then the data that should appear is
+------------+--------------+--------------+------------+--------------+
| id_bengkel | nama_bengkel | id_sparepart | id_ranking | id_sparepart |
+------------+--------------+--------------+------------+--------------+
| 1 | sejahtera | 1,2 | 82 | 2 |
| 4 | honda | 1,2,3 | 82 | 2 |
+------------+--------------+--------------+------------+--------------+
what query should I use?