Привет, я новичок в sql. Я все еще учусь любому совету или помощи, я буду очень признателен.
У меня есть две таблицы: первая таблица (tbl1) будет показывать только список идентификатора и описания, а вторая таблица (tbl2) перечисляет все cx, используя идентификатор. Идентификатор столбца tbl1 имеет общее значение в tbl2 (tbl2.address
ссылки tbl1.id
). Я пытаюсь удалить запись в идентификаторе tbl1, в которой статус в этом идентификаторе только Готово.
tbl1
id | description
-------+----------------------
addA | address A
addB | address B
addC | address c
tbl2
id | address | Status
----------+---------------+-------------
jk1ii | addA | using
hhh9 | addA | pending
ajjdia | addA | done
jhis99 | addB | done
ajduio | addC | using
Желаемый вывод для tbl1
id | description
------+-----------------
addA | address A
addC | address c
будет удален только addB, потому что ни один другой cx, использующий адрес, в отличие от addA и addC, еще не использует этот адрес, так что он не будет удален, возможно?
сейчас я использую этот запрос
DELETE from tbl1
WHERE id in (select address FROM tbl2 WHERE status ='Done')
однако вывод неправильный, он удалит addA, хотя там все еще есть какой-то cx в tbl2