小编Rob*_*ert的帖子

反向分区

所以我在这样一张桌子上工作:

Sku ProductCode Product Id
01     11011         null
02     11021         null
03     11021         null
04     11011         null
05     11031         null
06     11041         null
Run Code Online (Sandbox Code Playgroud)

我想像这样更新产品 ID:

Sku ProductCode Product Id
01     11011         01
02     11021         02
03     11021         02
04     11011         01
05     11031         03
06     11041         04
Run Code Online (Sandbox Code Playgroud)

我正在使用这个查询:

with upd  
as  
(  
SELECT *, ROW_NUMBER() OVER (PARTITION BY [Product Code] ORDER BY [Product Code]) AS rnk  
FROM temp  
)  
UPDATE upd  
SET ProductId = rnk
Run Code Online (Sandbox Code Playgroud)

基本上我只想在它不同时才计数。不使用任何函数或过程的任何想法?连续语句很好,更多列也是如此。

sql sql-server-2008

3
推荐指数
1
解决办法
581
查看次数

删除ASE中列中的空格

我的列包含数据的空格:
example:| 鱼| 如何更新列,以便我的结果为:| Fish | ?
在oracle我可以修剪列:

update Example set column1 = trim(column1)
Run Code Online (Sandbox Code Playgroud)

我谷歌它,我注意到ASE没有supoort修剪.

sybase sybase-ase

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

合并2个select语句结果集

有没有办法结合sql中2个select语句的结果?(像Union运营商那样 - 但Union仅适用于相同数量和类型的列)

我想做点什么

SELECT * FROM JOBS j 
UNION 
SELECT COUNT(fj.Id_Filter) FROM JOBS j LEFT JOIN FILTER_JOBS fj ON j.Id=fj.Id_Job
Run Code Online (Sandbox Code Playgroud)

但它不适用于UNION

sql derby

3
推荐指数
1
解决办法
133
查看次数

SQL异常:'Index'附近的语法不正确

我有SQL查询:

INSERT into ProjectFiles (Id,ProjectId,Index) VALUES (@Id,@ProjectId,@Index)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试插入对象时,它会抛出异常:

"索引"附近的语法不正确.如果这是作为表提示的一部分,则现在需要A WITH关键字和括号.有关正确的语法,请参阅SQL Server联机丛书

我认为这是关于Index,因为sql有命令index.我怎么能对sql说,这是我的专栏?

c# sql sql-server asp.net-mvc

3
推荐指数
1
解决办法
940
查看次数

使用NOT IN提取数据

我是sql的新手,遇到了一个小问题.我有一个像这样的查询:

select cust_id, count(1) from all_customers
group by cust_id
having count(1)>4;
Run Code Online (Sandbox Code Playgroud)

那个查询给了我想要的结果.

我需要对all_customers表中的所有客户进行新查询,并从上面的查询中排除我刚刚得到的结果.我尝试过这样的事情:

select * from all_customers
where cust_id NOT IN 
(
    select cust_id, count(1) from all_customers
    group by cust_id
    having count(1)>4
)
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误消息too many values.我究竟做错了什么?

sql

2
推荐指数
1
解决办法
41
查看次数

如何形成一个SQL查询,就像在两列中使用'IN'一样?

我有两个整数列,我希望选择具有特定值对的行.我可以使用哪种SQL语法?例如,IN如果IN支持这种语法,使用它可能看起来像这样:

select * 
 from myTable 
 where value1, value2 in ((2,3), (3,4), (2,5), (3,6))
Run Code Online (Sandbox Code Playgroud)

用它来选择那些行 value1 == 2 and value2 == 3 or value1==3 and value2==4 or 2/5 or 3/6.

我正在使用专有的SQL系统,因此首选基本SQL.或者如果没有,那么在某些标准SQL中使用一个语句也会很有用.

sql select

2
推荐指数
1
解决办法
98
查看次数

此错误是什么意思:“ NATURAL联接中使用的列不能具有限定符”

执行下面的代码后,我得到一个ORA-25155错误

SELECT p.prod_id, prod_name, prod_list_price,quantity_sold,cust_last_name
FROM products p NATURAL JOIN sales s NATURAL JOIN customer c
WHERE prod_id = 148;
Run Code Online (Sandbox Code Playgroud)

sql oracle11g

2
推荐指数
1
解决办法
1万
查看次数

如何在sybase查询中设置行号

我有一个select statentnt,它会返回1000个结果,使用3到4个表连接.我的要求是在结果集中有标识列.谁可以帮我这个事.

例如:

Result :
id   name 
--   ----
001   xxx
002   yyy
003   zzz

My requirment :
Rowid   id   name 
 1      --   ----
 2       001   xxx 
 3       002   yyy
 4       003   zzz
Run Code Online (Sandbox Code Playgroud)

和sql中的Row_number一样,我们在sybase中有什么内容吗?

sybase sybase-ase

2
推荐指数
1
解决办法
3万
查看次数

通过SQL存储过程更新具有连续数字的表的Identity Column

从表中删除重复记录后,我想更新表的 Identity 列,其连续编号从 1 开始。这是我的表详细信息

id(identity(1,1)),
EmployeeID(int),
Punch_Time(datetime),
Deviceid(int)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我需要通过存储过程执行此操作。当我在存储过程中尝试以下语句时

DECLARE @myVar int
        SET @myVar = 0
        set identity_insert TempTrans_Raw# ON
        UPDATE  TempTrans_Raw# SET  @myvar = Id = @myVar + 1
        set identity_insert TempTrans_Raw# off
Run Code Online (Sandbox Code Playgroud)

出现错误,例如...无法更新标识列“Id”任何人请建议如何使用从 1 开始的连续编号来更新该表的标识列。

sql sql-server stored-procedures sql-server-2008

2
推荐指数
1
解决办法
1737
查看次数

从元素数组中查找T-SQL中最接近的值

致力于积分兑换应用.我有一个查询返回点范围如下:

Point
-----
50    
100    
150
Run Code Online (Sandbox Code Playgroud)

我有一个累积积分的局部变量.如果我有65分,那么我只能兑换50分.如果我有110,那么我将能够兑换100,依此类推.

我尝试使用select case&between但它没有正确使用.

请帮助.

sql t-sql sql-server-2012

2
推荐指数
1
解决办法
57
查看次数