当前位置: 首页 > 知识库问答 >
问题:

基于另一个表的postgres-sql查询删除。

翁和正
2023-03-14

我想不出如何将这个查询转换为delete-statment。

从购物车中选择DISTINCT carts.id,Shows.Date

内部连接tickets.cart=carts.id上的票证

内部连接actseats.ticket=tickets.id上的actseats

内部连接对actseats.showact=showacts.id显示作用

内部联接显示在shows.id=showacts.show上

其中shows.date>='2017-05-05';

我从这个查询得到的购物车是我想在delete-statment中删除的。

共有1个答案

盖诚
2023-03-14

你可以试试

delete from carts where id in (SELECT DISTINCT carts.id from carts

INNER JOIN tickets on tickets.cart = carts.id

INNER JOIN actseats on actseats.ticket = tickets.id

INNER JOIN showacts on actseats.showact = showacts.id

INNER JOIN shows on shows.id = showacts.show

WHERE Shows.date >= '2017-05-05');

希望这能帮到你。

 类似资料:
  • 问题内容: 这可能很容易,但这是星期一早上。我有两个表: 表格1: 表2: 忽略其他字段…我想要一个SQL DELETE语句,该语句将删除存在与Table1.group相等的Table2.group的Table1中的所有行。因此,如果Table1的一行具有group = 69,则当且仅当Table2中存在group = 69的行时,才应删除该行。 感谢您的任何帮助。 问题答案: 我认为这是您想要的

  • 问题内容: 我在Postgres 9.1数据库中具有以下表结构,但是理想的解决方案应该是与数据库无关的(如果可能的话): 我有一个查询(用于视图),该查询提供了下一个和上一个item.id。 例如 我可以使用以下查询执行此操作: 您可以帮助解决以下问题: 1)有没有办法让ID包裹,即 nextitemid列最后一行中的NULL itemid应该为1 previtemid列第一行中的NULL ite

  • 我正在尝试查找一个查询唯一的名称列表,并排除两个查询结果之间的共同名称。例如,我想要学生A、B和C所选课程的名称,并从该列表中排除学生D和E所选的课程。在这个问题的答案的帮助下(Neo4j Cypher:从结果中排除某些节点),我尝试了这个密码代码,它是有效的,但我得到的结果是节点。我希望它是一个名称列表,而不是节点。 非常感谢。

  • 我有两个具有相同列的表,这些表没有唯一的列。假设列为Col1、Col2、Col3和Col4。表是T1和T2。 我要做的是插入从T2到T1的所有行,其中Col1 比如Col1=“APPLE”和Col2=“2019”。如果一行在T2中包含Col1=“APPLE”和Col2=2019,我不想将其插入T1,而如果一行包含Col1=“APPLE”和Col2=2020,我想将其插入T1。 我正在努力找到最简单

  • 我有两个表:包含5列(col1、col2、col3、col4、val1)的表1和包含5列(col1、col2、col3、col4、val2)的表2。1.表1.val1不包含任何值。2.对于表1和表2来说,col1、col2、col3和col4是相同的,它们是主键。 我想做的是,当table1.col1=table2.col1和table1.col2=table2.col2和table1.col3=

  • 我在数据库中有两个带有绑定主键的表,我希望在它们之间找到一个不相交的集。例如 有列()和示例数据: 那么,我如何创建一个SQL查询,以便我可以从中获取没有在中的带有ID的行。在这种情况下,应该返回吗? PS:ID是这两个表的主键。