gpt4 book ai didi

mysql - 复杂的 DELETE SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:36:31 28 4
gpt4 key购买 nike

我需要创建一个 SQL 查询来删除 album 表中的一条记录,前提是登录的客户端满足这些要求:

// Variables as a demonstration
const signedClientId = 1;
const albumIdToDelete = 2;

要求

  1. 客户在 clients_albums 表中有一个关联的相册
  2. ---- ----
  3. 相册存在于 domains_albums 表中,客户是域的所有者

我有 5 个表:

  1. 相册 - id |姓名
  2. 客户- id |名字 |姓
  3. 域 - id |所有者(fk -> 客户)|姓名
  4. clients_albums - 客户(fk -> 客户)|专辑(fk -> 专辑)
  5. domains_albums - 域(fk -> 域)|专辑(fk -> 专辑)

最佳答案

我认为这应该可以解决问题:

DELETE 
FROM albums
WHERE album_id IN
(SELECT album_id
FROM clients_albums
WHERE client_id = @CLIENTID)
OR
WHERE album_id IN
(SELECT album_id
FROM domain_albums JOIN domains ON domain_albums.album = albums.id
WHERE domains.owner = @CLIENTID)

@CLIENTID 是一个占位符,您可以在其中传递您使用的任何查询系统中的客户端 ID。

关于mysql - 复杂的 DELETE SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518410/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com