标签: sql

如何使用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中的AUTO_INCREMENT?

我怎样才能重新AUTO_INCREMENT一个领域?我希望它1再次开始计数.

mysql sql auto-increment

1174
推荐指数
17
解决办法
118万
查看次数

如何列出使用ATTACH打开的SQLite数据库文件中的表?

什么SQL可用于列出表,以及SQLite数据库文件中这些表中的行 - 一旦我ATTACH在SQLite 3命令行工具上附加了命令?

sql database sqlite metadata

1151
推荐指数
17
解决办法
96万
查看次数

我可以将多个MySQL行连接到一个字段中吗?

使用MySQL,我可以这样做:

SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;
Run Code Online (Sandbox Code Playgroud)

我的输出:

shopping
fishing
coding
Run Code Online (Sandbox Code Playgroud)

但相反,我只想要1行,1 col:

预期产出:

shopping, fishing, coding
Run Code Online (Sandbox Code Playgroud)

原因是我从多个表中选择了多个值,并且在所有连接之后我有了比我想要的更多的行.

我在MySQL Doc上寻找了一个函数,它看起来不像CONCATCONCAT_WS函数接受结果集,所以这里的任何人都知道如何做到这一点吗?

mysql sql concat group-concat

1143
推荐指数
10
解决办法
63万
查看次数

SQL仅选择列上具有最大值的行

我有这个文件表(这里是简化版):

+------+-------+--------------------------------------+
| id   | rev   | content                              |
+------+-------+--------------------------------------+
| 1    | 1     | ...                                  |
| 2    | 1     | ...                                  |
| 1    | 2     | ...                                  |
| 1    | 3     | ...                                  |
+------+-------+--------------------------------------+
Run Code Online (Sandbox Code Playgroud)

如何为每个id选择一行并且只选择最大转速?
使用上面的数据,结果应该包含两行:[1, 3, ...][2, 1, ..].我正在使用MySQL.

目前,我在while循环中使用检查来检测并覆盖结果集中的旧转速.但这是实现结果的唯一方法吗?是不是有SQL解决方案?

更新
作为答案提示,有一个SQL的解决方案,并且这里sqlfiddle演示.

更新2
我注意到在添加上述sqlfiddle之后,问题被投票的速率超过了答案的upvote率.那不是故意的!小提琴是基于答案,特别是接受的答案.

mysql sql aggregate-functions greatest-n-per-group groupwise-maximum

1142
推荐指数
14
解决办法
107万
查看次数

1090
推荐指数
30
解决办法
196万
查看次数

获取Oracle中所有表的列表?

如何查询Oracle数据库以显示其中所有表的名称?

sql oracle

1073
推荐指数
14
解决办法
211万
查看次数

获取插入行的标识的最佳方法是什么?

IDENTITY插入行的最佳方法是什么?

我知道@@IDENTITYIDENT_CURRENTSCOPE_IDENTITY,但不明白连接到每个利弊.

有人可以解释一下这些差异,以及何时应该使用它们?

sql t-sql sql-server

1056
推荐指数
10
解决办法
80万
查看次数

参数化SQL IN子句

如何参数化包含IN具有可变数量参数的子句的查询,比如这个?

SELECT * FROM Tags 
WHERE Name IN ('ruby','rails','scruffy','rubyonrails')
ORDER BY Count DESC
Run Code Online (Sandbox Code Playgroud)

在此查询中,参数的数量可以是1到5之间的任何值.

我不希望为此(或XML)使用专用存储过程,但如果有一些特定于SQL Server 2008的优雅方式,我对此持开放态度.

sql sql-server parameters

1020
推荐指数
29
解决办法
33万
查看次数

如何在订购后限制Oracle查询返回的行数?

有没有办法让Oracle查询表现得像包含一个MySQL limit子句?

MySQL,我可以这样做:

select * 
from sometable
order by name
limit 20,10
Run Code Online (Sandbox Code Playgroud)

获得第21行到第30行(跳过前20行,给出下一行10).在行之后选择行order by,因此它实际上按字母顺序从第20个名称开始.

Oracle,人们提到的唯一的事情是rownum伪列,但它之前 进行了评估order by,这意味着:

select * 
from sometable
where rownum <= 10
order by name
Run Code Online (Sandbox Code Playgroud)

将返回按名称排序的十行的随机集合,这通常不是我想要的.它也不允许指定偏移量.

sql oracle pagination limit

966
推荐指数
10
解决办法
134万
查看次数