Reputation: 21260
How I can make the following query and delete in one query ?
select krps.kpi_results_fk from report.kpi_results_per_scene krps inner join report.kpi_results kr on kr.session_uid = '0000c2af-1fc8-4729-bb2a-d4516a63107a'
and kr.pk = krps.kpi_results_fk
delete from report.kpi_results_per_scene where kpi_results_fk = 'answer from above query'
Upvotes: 2
Views: 75
Reputation: 2270
I think for your case, NO need to use inner join
.
Following query could reduce the overhead of inner join
DELETE FROM report.kpi_results_per_scene
WHERE kpi_results_fk IN
(SELECT kr.pk FROM report.kpi_results kr
WHERE kr.session_uid = '0000c2af-1fc8-4729-bb2a-d4516a63107a')
Upvotes: 1
Reputation: 69440
use IN operator:
delete from report.kpi_results_per_scene where kpi_results_fk in (
select krps.kpi_results_fk from report.kpi_results_per_scene krps inner join report.kpi_results kr on kr.session_uid = '0000c2af-1fc8-4729-bb2a-d4516a63107a'
and kr.pk = krps.kpi_results_fk)
Upvotes: 1
Reputation: 550
Try the code bellow:
delete from report.kpi_results_per_scene
where kpi_results_fk IN (select krps.kpi_results_fk
from report.kpi_results_per_scene krps inner join report.kpi_results kr
on kr.session_uid = '0000c2af-1fc8-4729-bb2a-d4516a63107a'
and kr.pk = krps.kpi_results_fk)
Upvotes: 0