标签: sql-delete

如何使用INER JOIN与SQL Server删除?

我想INNER JOINSQL Server 2008中删除使用.

但我得到这个错误:

消息156,级别15,状态1,行15
关键字"INNER"附近的语法不正确.

我的代码:

DELETE FROM WorkRecord2 
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
Run Code Online (Sandbox Code Playgroud)

sql sql-server inner-join sql-server-2008 sql-delete

1181
推荐指数
15
解决办法
127万
查看次数

MySQL错误1093 - 无法在FROM子句中指定更新的目标表

story_category我的数据库中有一个表有损坏的条目.下一个查询返回损坏的条目:

SELECT * 
FROM  story_category 
WHERE category_id NOT IN (
    SELECT DISTINCT category.id 
    FROM category INNER JOIN 
       story_category ON category_id=category.id);
Run Code Online (Sandbox Code Playgroud)

我试图删除它们执行:

DELETE FROM story_category 
WHERE category_id NOT IN (
    SELECT DISTINCT category.id 
    FROM category 
      INNER JOIN story_category ON category_id=category.id);
Run Code Online (Sandbox Code Playgroud)

但我得到了下一个错误:

#1093 - 您无法在FROM子句中为更新指定目标表'story_category'

我怎么能克服这个?

mysql subquery mysql-error-1093 sql-delete

556
推荐指数
10
解决办法
42万
查看次数

如何删除sql server中的重复行?

我怎么能unique row idunique row id存在?

我的桌子是

col1  col2 col3 col4 col5 col6 col7
john  1    1    1    1    1    1 
john  1    1    1    1    1    1
sally 2    2    2    2    2    2
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我希望在重复删除后留下以下内容:

john  1    1    1    1    1    1
sally 2    2    2    2    2    2
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些查询,但我认为它们依赖于行ID,因为我没有得到理想的结果.例如:

DELETE
FROM table
WHERE col1 IN (
    SELECT id
    FROM table
    GROUP BY id
    HAVING (COUNT(col1) > 1)
)
Run Code Online (Sandbox Code Playgroud)

mysql sql duplicates sql-server-2008 sql-delete

379
推荐指数
12
解决办法
80万
查看次数

使用MySQL LEFT JOIN删除行

我有两个表,一个用于工作截止日期,一个用于描述工作.每个作业都可以处于状态,一些状态意味着必须从另一个表中删除作业的截止日期.

我可以通过以下方式轻松SELECT完成符合我标准的工作/截止日期LEFT JOIN:

SELECT * FROM `deadline`
LEFT JOIN `job` ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'
Run Code Online (Sandbox Code Playgroud)

(不status属于job表格deadline)

但是当我想删除这些行时deadline,MySQL会抛出错误.我的查询是:

DELETE FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'
Run Code Online (Sandbox Code Playgroud)

MySQL错误没有说明:

您的SQL语法有错误; …

mysql left-join delete-row sql-delete

176
推荐指数
5
解决办法
12万
查看次数

带有INNER JOIN的SQL DELETE

有2个表,spawnlist而且npc,我需要从中删除数据spawnlsit. npc_templateid = n.idTemplate是唯一"连接"表格的东西.我试过这个脚本,但它不起作用.

我试过这个:

DELETE s FROM spawnlist s
INNER JOIN npc n ON s.npc_templateid = n.idTemplate
WHERE (n.type = "monster");
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-server inner-join sql-delete

116
推荐指数
3
解决办法
17万
查看次数

如何从MySQL中的多个表中删除?

我试图一次从几个表中删除.我做了一些研究,想出了这个

DELETE FROM `pets` p,
            `pets_activities` pa
      WHERE p.`order` > :order
        AND p.`pet_id` = :pet_id
        AND pa.`id` = p.`pet_id`
Run Code Online (Sandbox Code Playgroud)

但是,我收到了这个错误

Uncaught Database_Exception [1064]:您的SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在'p,pets_activitiespa ... 附近使用正确的语法

我以前从来没有做过十字表删除,所以我现在没经验并且卡住了!

我究竟做错了什么?

mysql sql mysql-error-1064 sql-delete

109
推荐指数
3
解决办法
19万
查看次数

如何在Neo4j中删除/创建数据库?

是否有可能在MySQL 数据库Neo4j中创建/删除不同的数据库?或者,至少,如何删除现有图形的所有节点和关系以获得测试的干净设置,例如,使用类似于rmrel或的shell命令rm

database nodes neo4j relationships sql-delete

101
推荐指数
9
解决办法
9万
查看次数

如何使用Sql Server 2008从表中删除前1000行?

我在SQL Server中有一个表.我想从中删除前1000行.但是,我尝试了这个,但我没有删除前1000行,而是删除了表中的所有行.

这是代码:

delete from [mytab] 
select top 1000 
a1,a2,a3
from [mytab]
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-delete

97
推荐指数
4
解决办法
23万
查看次数

如何删除重复的条目?

我必须为现有表添加唯一约束.这很好,除了表已经有数百万行,并且许多行违反了我需要添加的唯一约束.

删除有问题的行的最快方法是什么?我有一个SQL语句,它找到重复项并删除它们,但它需要永远运行.有没有其他方法可以解决这个问题?也许备份表,然后在添加约束后恢复?

sql postgresql duplicate-removal unique-constraint sql-delete

93
推荐指数
7
解决办法
9万
查看次数

MySQL将DELETE FROM与子查询作为条件

我正在尝试这样的查询:

DELETE FROM term_hierarchy AS th
WHERE th.parent = 1015 AND th.tid IN (
    SELECT DISTINCT(th1.tid)
    FROM term_hierarchy AS th1
    INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015)
    WHERE th1.parent = 1015
);
Run Code Online (Sandbox Code Playgroud)

你可以告诉我,如果同一个tid有其他父母,我想删除1015的父关系.但是,这会产生语法错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS th
WHERE th.parent = 1015 AND th.tid IN (
  SELECT DISTINCT(th1.tid)
  FROM ter' at line …
Run Code Online (Sandbox Code Playgroud)

mysql sql subquery in-subquery sql-delete

77
推荐指数
6
解决办法
12万
查看次数