我有一个像这样的数据库:
我正在尝试创建一个查询,只要所有这三个属性的值:、、和作为属性值包含在表中,我就可以更新表中的status
属性值。例如,如果 、 和 属性的值分别为3、4 和 5,则当(且仅当)3、4 和 5 包含在表中时,应该更新表。incident
tabor_vatrogasci
tabor_policija
tabor_hitna
izvještaj_tabora
oznaka_tabora
tabor_vatrogasci
tabor_policija
tabor_hitna
incident
izvještaj_tabora
这是我尝试过的,但没有奏效:
UPDATE incident SET status='Otvoren' FROM tabor,izvjestaj_tabora
WHERE (incident.tabor_policija=tabor.oznaka
OR incident.tabor_vatrogasci=tabor.oznaka
OR incident.tabor_hitna=tabor.oznaka)
AND izvjestaj_tabora.oznaka_tabora=tabor.oznaka
AND rezultat_izvjestaja='Riješen' AND
((SELECT EXISTS(SELECT DISTINCT oznaka_tabora FROM izvjestaj_tabora)
WHERE oznaka_tabora=incident.tabor_policija) OR tabor_policija=NULL) AND
((SELECT EXISTS(SELECT DISTINCT oznaka_tabora FROM izvjestaj_tabora)
WHERE oznaka_tabora=incident.tabor_vatrogasci) OR tabor_vatrogasci=NULL) AND
((SELECT EXISTS(SELECT DISTINCT oznaka_tabora FROM izvjestaj_tabora)
WHERE oznaka_tabora=incident.tabor_hitna) OR tabor_hitna=NULL);
有谁知道如何做到这一点?