尝试使用 SQL 从多个表中删除

2024-02-23

我的应用程序中有 4 个表:

  • User
  • usession
  • upklist
  • 项目共享

最后三个表包含一个名为session_id.

在下面的代码中,括号中的部分用于获取所有session_id值来自usession用户“awpeople”的表。

问题是如何将此结果集读入数组并从所有三个表中删除session_id位于数组结果中。

Code:

DELETE FROM usession, 
            upklist, 
            projshar 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

delete一次只能处理一张表,因此您需要三个语句:

DELETE FROM upklist 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

DELETE FROM projshar 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

DELETE FROM usession 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

请注意,由于内部查询依赖于usersession,你应该从中删除last.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使用 SQL 从多个表中删除 的相关文章

  • MySQL - 查询合并具有相同 id 的行并保留该 id 的所有条目但作为一条记录

    我一直在处理本地保存在 wamp 服务器上的 mysql 数据库中的表 我正在使用 wamp 中的 phpmyadmin 区域来运行查询 我正在尝试获取数据来执行以下操作 谁能帮我制作一张包含许多植物记录的表格 植物可以有多个名称 表格将其
  • 尝试通过比较不同的表从 SQL 查询输出正确的值

    我对 SQL 非常陌生 需要有关如何使用正确的查询完成此任务的帮助 我有 2 张桌子需要使用 表 TB1 有 id Name 1 bob 2 blow 3 joe 表 TB2 有 compid property 1 bob 2 blow 我
  • 多个连接到同一个表

    我有这组表格和数据 CREATE TABLE item id INT PRIMARY KEY name VARCHAR CREATE TABLE property id INT PRIMARY KEY name VARCHAR CREATE
  • 实体框架 - 查询可为空列时出现问题

    我在从具有可为空的tinyint 列的表中查询数据时遇到问题 问题似乎是查询生成为 AND CAST Extent1 PositionEffect AS int p linq 3 gt p linq 3 NULL 如果我手动运行该查询 它不
  • mysql 在 sum() 函数上使用 concat,例如 concat(sum(col1),"%")

    我正在尝试合并多个查询 但其中一个查询使用 sum 当我尝试在此列上应用 concat 时 我得到不需要的 blob 结果 我如何在聚合列上应用 concat 和 union 我期待这个结果 SELECT row 1 col1 UNION
  • 将错误保存到 MySQL 数据库

    我有一个 php 查询来更新 MySQL 数据库 请参见下文 sql update hr payroll set payroll number payroll number tax code tax bacs ref bacs ref pa
  • JOOQ 忽略具有默认值的数据库列

    看来JOOQ完全忽略了数据库列的默认值 既不会更新 ActiveRecord 对象 也不会在 INSERT 时跳过此列 相反 它尝试将其设置为 NULL 这在 NOT NULL 列上失败 Example CREATE TABLE bug f
  • sqlldr.exe 不适用于 Windows 10

    我最近通过自定义安装安装了 Oracle 数据库客户端 12 1 0 2 0 winx64 并仅选择包括 SQL Loader 等在内的数据库实用程序 但是当我尝试执行 sqlldr exe 时 出现以下错误 在网上搜索后 我从所有站点 即
  • 选定的非聚合值必须是关联组的一部分

    我在 Teradata 中有两个表 Table A 和 Table B 它们之间是 LEFT JOIN 之后我将创建 SELECT 语句 其中包含两个表中的属性 SELECT attribute 1 attribute 2 attribut
  • ORACLE:未找到数据——但数据存在

    调试包过程 当实际上有数据时却找不到数据 仅测试 SELECT SELECT trim trailing from GL SECURITY as DUMMY FROM b2k user b2k WHERE sms username FUCH
  • mysql LIKE 查询时间太长

    SQL SELECT COUNT usr id as total results FROM users as usr LEFT JOIN profile as prof ON prof uid usr uid WHERE usr usern
  • 无重复组合的交叉连接

    我知道这个问题与这个问题非常相似 对称交叉连接 https stackoverflow com questions 12490244 symmetric cross join还有这个 sql 中交叉连接的组合 不是排列 https stac
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • postgresql 中的锁定表

    我有一个名为 games 其中包含一个名为 title 该列是唯一的 数据库中使用PostgreSQL 我有一个用户输入表单 允许他插入新的 game in games 桌子 插入新游戏的功能会检查之前输入的游戏是否存在 game 与相同的
  • 在sql plus脚本中运行循环

    我正在 sql plus 中运行脚本 我的脚本中有一个 for 循环 BEGIN FOR count IN 1 100 LOOP INSERT INTO CompanyShare VALUES count 1 250 END LOOP EN
  • Postgres 中 -Infinity 和 Infinity 的适当值

    在一种情况下 我们必须在 Postgres DB 中存储 无穷大和 无穷大的值 应该考虑什么合适的值 如果没有 请建议最合适的替代方案 你实际上可以使用 infinity and infinity for FLOAT4 and FLOAT8
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • 如何在Oracle中从表中选择列,*?

    我正在创建很多脚本 有时为了检查表是否根据我的需要进行更新 我会即时编写几个 SELECT 语句 在 SQL SERVER 中你可以这样写 SELECT Column1 FROM MY TABLE 出于可见性原因 这很有用 但是这似乎在 O
  • 有没有办法在 MySQL 中有效地对 TRUNCATE 或 DROP TABLE 进行 GRANT ?

    我最近在 MySQL 5 5 x 中尝试过 GRANT SELECT INSERT UPDATE DELETE TRUNCATE ON crawler TO my user localhost WITH GRANT OPTION 这会导致错
  • 计算包含字母/数字的行数

    我想要实现的目标很简单 但是解释起来有点困难 我不知道在 postgres 中这是否真的可能 我处于相当基础的水平 SELECT FROM WHERE LEFT JOIN ON HAVING 等等基本的东西 我正在尝试计算包含特定字母 数字

随机推荐

  • 我们应该在数据库表命名约定中使用前缀吗?

    我们正在工作中的开发团队决定表 列 过程等的命名约定 单复数表命名已经决定了 我们使用单数 我们正在讨论是否为每个表名使用前缀 我想阅读有关是否使用前缀以及原因的建议 它是否提供任何安全性 至少为可能的入侵者多了一个障碍 我认为用前缀命名它
  • 通过 Python 在 Selenium 中使用 WebDriverWait for link_text “TypeError: 'str' object is not callable”

    这是我在 Stack Overflow 上的第一篇文章 我一直在浏览和搜索这个问题的每一个可能的答案 我想在这一点上我应该问一个问题 因为我已经在这堵墙上呆了好几天了 我目前正在使用 Python 中的 Selenium 开发一个网络抓取项
  • 强制编码风格[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 几年前 当我开始一个小型开发项目时 我和其他开发人员坐下来就折衷的大括号和缩进样式达成了一致 它不是任何人的最爱 但却是没有人真正讨厌的东西 我
  • 如何在 PHP 中查找单词组合

    我有一个数组 new array array c a m t p 现在我想找到单词表中存在的单词组合 我曾尝试实现但没有成功 这是我的 php 代码 words array set powerSet new array 2 mysql ne
  • Webstorm 关闭匿名函数声明中的新空格

    例如我有这个 exports getsertHexId function table hex Webstorm 8 的自动缩进在关键字之间创建空格function和开括号 其设置空间选项包括 函数声明括号 函数调用括号 如果 括号 很困惑
  • 如何定期唤醒我的应用程序

    我想在Android中做一个功能 比如提醒 我想在我的应用程序 活动未运行或者其 UI 不可见时启动它 它类似于提醒 在所需的时间唤醒应用程序 我没有使用过任何类型的后台任务或服务 所以我不知道该怎么办 或者我应该学习什么类型的课程或演示
  • 在 SQLite 中的 GROUP_CONCAT 函数中使用 ORDER BY 子句

    我不认为我可以使用ORDER BY里面的子句GROUP CONCAT功能 有谁知道一种棘手的方法来完成这种行为SQLite 我看到了这个question https stackoverflow com questions 1897352 s
  • 如何将由东北坐标和西南坐标组成的特定边界拟合到可见地图视图中?

    我需要在地图内适应特定的边界 我通过调用谷歌地理编码器并读取视口属性来获取边界 如下所示 northeast lat 30 4212235 lng 97 486942 southwest lat 30 1128403 lng 97 9991
  • 在加载的 ELF(.so 共享库)中挂钩并替换导出函数

    我正在编写一些 C 代码来将 so ELF 共享库 的某些函数加载到内存中 我的 C 代码应该能够重定向另一个加载到应用程序 程序内存中的 so 库的导出函数 这里有一些详细说明 Android 应用程序将加载多个 so 文件 我的 C 代
  • Google 登录:使用 google-auth Python 包时“未找到密钥 ID xxxx 的证书”

    我正在维护一个网站及其移动应用程序 iOS 和 Android 对于移动应用程序中的 Google 登录 我正在使用google auth Python 包 https github com googleapis google auth l
  • 知道任何体素图形 C++ 库吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以 我正在寻找带有 C 库 面向游戏 的体素图形引擎 只是为了好玩 这将是我第一次使用图形库 因此它不必非常复杂或强大 只需易于理解即可
  • 尽管allowtgtsessionkey注册表项无法检索TGT

    我正在尝试连接我们的 Windows 客户端应用程序以使用单点登录机制 我正在遵循可以找到的解释here http www javaactivedirectory com page id 196 我已经很难完成第一步 即获取登录用户的票证授
  • 尝试在构造函数中访问 @Inject bean 时出现 NullPointerException

    我有一个会话范围的 bean Named SessionScoped public class SessionBean implements Serializable private String someProperty public S
  • JTable更改列字体

    我正在制作一个表格 我想在其中制作具有更高字体大小的第一列 例如 在第 0 列中 我希望字体大小为 30 在第 1 3 列中 我希望字体大小为 13 这是我的代码 import java awt import java awt event
  • 当cmd以管理员身份运行时如何将输入发送到命令?

    我创建了一个将键盘输入发送到的应用程序cmd exe 这在运行时有效cmd作为普通用户但失败时cmd以管理员身份运行 这是我的代码 Var Wnd hwnd begin wnd FindWindow ConsoleWindowClass 0
  • 在 PostScript 中显示 Unicode 字符

    如何让我的 PostScript 程序显示 G 谱号字符Bravura https github com steinbergmedia bravura字体 根据这个SMuFL http www smufl org files smufl 0
  • 如何取数据?

    我正在学习使用神经网络 并且遇到了问题 我不知道如何转换神经网络的数据 据我了解 我需要对数据进行标准化 在标准化和学习之后 答案总是平均的 https jsfiddle net eoy7krzj https jsfiddle net eo
  • 奇怪的方法行为 - 函数的 ToString

    考虑这个代码片段 class Program static void Main string args Console WriteLine Test ToString static IEnumerable
  • 如何使用 Azure API Manager 缓存存储值策略存储 JSON 有效负载?

    再会 我尝试使用 缓存存储值 策略将传入的 JSON 负载存储到 Azure API Manager 内部缓存中 密钥将是有效负载内的字段之一 我能够提取密钥 但是当我尝试存储有效负载时 我收到错误 表达式求值失败 未将对象引用设置为对象的
  • 尝试使用 SQL 从多个表中删除

    我的应用程序中有 4 个表 User usession upklist 项目共享 最后三个表包含一个名为session id 在下面的代码中 括号中的部分用于获取所有session id值来自usession用户 awpeople 的表 问