我想在SQL Server2008中使用内部联接
进行删除。
但我得到了这个错误:
消息156,级别15,状态1,第15行
关键字“inner”附近的语法不正确。
我的代码:
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
可能这对你有帮助-
DELETE FROM dbo.WorkRecord2
WHERE EmployeeRun IN (
SELECT e.EmployeeNo
FROM dbo.Employee e
WHERE ...
)
或者试试这个-
DELETE FROM dbo.WorkRecord2
WHERE EXISTS(
SELECT 1
FROM dbo.Employee e
WHERE EmployeeRun = e.EmployeeNo
AND ....
)
只需在delete
和from
之间添加要从其中删除记录的表的名称,因为我们必须指定要删除的表。同时删除order by
子句,因为在删除记录时没有任何可排序的内容。
所以您的最终查询应该是这样的:
DELETE WorkRecord2
FROM WorkRecord2
INNER JOIN Employee
ON EmployeeRun=EmployeeNo
WHERE Company = '1'
AND Date = '2013-05-06';
您需要指定要从哪个表中删除。下面是一个带有别名的版本:
DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
所以我有一个相关的子查询,我读到这不是最有效的方法。因此,我想将此查询转换为内部联接查询。 我试过这样的方法: 在对数据库“db”执行SQL查询时导致 我在这里的所有搜索结果都产生了大致相同的查询(与我尝试的类似)
问题内容: 有2个表,和,并且我需要从中删除数据。 是唯一“连接”表的东西。我已经尝试过此脚本,但是它不起作用。 我已经试过了: 问题答案: 在第一行中添加到。 尝试:
我试图在一列内连接两个表。从数据库方面来看,没有映射,因为这是我不想讨论的事情。 我想使用内部联接执行HQL查询并检索角色对象/结果。 这是到目前为止我的hql 一场createQuery(“从角色作为角色内部加入参与作为角色上的参与。id=invention.roleid,其中invention.id=X”)。list(); 我看到在HQL上不可用。如何明确地告诉Hibernate仅加入此列。
问题内容: 例如,我在表中有此数据, 我或该表本身如何,这样我可以在下面获得此结果? 尽我所能,我只想用关键字“ manage”查询行,但我希望 add 的行中的列数据与结果中的 manage 行中的as相同。 是否有可能? 编辑: 我实际表格的简化版本- , 我的实际查询已经很乱了… 结果我目前得到了 但是我在这之后 问题答案: 您只需要两次引用该表: 如果要在列表中查看根,请用左联接替换inn
问题内容: 我试图在一个列上内部联接两个表。从数据库方面来看,没有映射,因为这是我不想讨论的。 我想使用INNER JOIN执行HQL查询并检索ROLE对象/结果。 到目前为止,这是我的总部 session.createQuery(“ ROLE作为角色,INNER JOIN INVOLVEMENT作为参与角色,id。X =参与.roleid WHERE参与.id = X”)。list(); 我看到
问题内容: 我有两个要与之进行内部联接的表。 一个是主键为的表。 另一个表是外键在哪里。也有一个列,其中where是表的外键。 我正在尝试汇总一个ActiveRecord查询,在这里我可以选择N天前或之前创建的所有用户,并且其中任何一个都没有等于特定ID的用户。我试图做这样的事情: 此查询字段超过30,000个结果,这是不正确的,因为Users表仅具有12,000行。 我到底在做什么错? 问题答案