我试图在PIVOT函数中使用0(零)输出转换(null)值但没有成功.
下面是表格和我试过的语法"
SELECT
CLASS,
[AZ],
[CA],
[TX]
FROM #TEMP
PIVOT (SUM(DATA)
FOR STATE IN ([AZ], [CA], [TX])) AS PVT
ORDER BY CLASS
CLASS AZ CA TX
RICE 10 4 (null)
COIN 30 3 2
VEGIE (null) (null) 9
Run Code Online (Sandbox Code Playgroud)
我试图使用ISNULL但没有奏效.
PIVOT SUM(ISNULL(DATA,0)) AS QTY
Run Code Online (Sandbox Code Playgroud)
有人可以查看它的语法错误吗?非常感谢!
在Oracle中有没有办法可以拉动风云?我用下面的脚本只拉了两个风云.Mytable日期范围从1998财年到2009财年.
SELECT 'FY2008' as FY,
Site,
COUNT(*)
FROM mytable
WHERE date >='10-OCT-2007'
AND date <'10-OCT-2008'
GROUP BY site
Run Code Online (Sandbox Code Playgroud)
SELECT 'FY2008' as FY,
Site,
COUNT(*)
FROM mytable
WHERE date >='10-OCT-2008'
AND date <'10-OCT-2009'
GROUP BY site
Run Code Online (Sandbox Code Playgroud)
拉动两个FY是可以的,但是当拉动超过10 FY时它太重复了.
希望一切安好.我有快速的SQL服务器问题:
我想在7天的增量中显示周列.下面是我想要的输出示例.有没有办法在SQL服务器中编写?
Week Football soccer baseball
10/01 - 10/07 1 2 3
10/08 - 10/14 4 5 6
10/15 - 10/21 5 8 0
Run Code Online (Sandbox Code Playgroud)
再次感谢!乔
这是我的剧本.
CREATE TABLE #TEMP
(
DT CHAR(10),
TO_DT CHAR(10),
BALLs VARCHAR(100),
PRODUCT INT,
Week INT
)
DECLARE
@DT DATETIME,
@TO_DT DATETIME,
@i INT
BEGIN
SET @_DT = '10/01/2012'
SET @TO_DT = DATEADD(DAY,7,@_DT)
set @i=1
WHILE (@DT <= '12/31/2013')
BEGIN
INSERT INTO #TEMP (DT, TO_DT, BALLs, PRODUCT, week)
SELECT
CONVERT(CHAR(10),@DT,101) AS FROM_DT,
CONVERT(CHAR(10),DATEADD(DAY,-1,@TO_DT),101) AS TO_DT,
BALLS, …Run Code Online (Sandbox Code Playgroud) 鉴于此查询:
select distinct subject_key
from mytable
Run Code Online (Sandbox Code Playgroud)
结果:
subject_key
-----------
90896959
90895823
90690171
90669265
90671321
Run Code Online (Sandbox Code Playgroud)
如何在Oracle中编写查询(使用Aqua Data Studio后端Oracle 8i)结果:
subject_key
-----------
90896959,
90895823,
90690171,
90669265,
90671321
Run Code Online (Sandbox Code Playgroud)
谢谢大家!我是否希望改变输出而不是如下所示.我怎么写它,同一个平台.谢谢.
subject_key
90896959, 90895823, 90690171, 90669265, 90671321
Run Code Online (Sandbox Code Playgroud) 我有一个关于在Excel 2010中连接日期列(日期时间)类型的问题.出于某种原因,在连接日期时,值显示为数字.下面是我尝试连接它的尝试.
给出Excel 2010中的两列
Date ID
2/22/2010 12:00:00 AM 1
6/27/2001 12:41:30 PM 2
3/11/2004 9:00:00 AM 3
Run Code Online (Sandbox Code Playgroud)
在这里,我使用CONCATENATE函数将两列连接到#temp表中,但Date中的值显示如下
INSERT INTO #temp VALUES ('40231','1')
INSERT INTO #temp VALUES ('37069.5288194444','2')
INSERT INTO #temp VALUES ('38057.375','3')
Run Code Online (Sandbox Code Playgroud)
在Excel 2010中是否有一种方法可以用来连接我想要的内容,如上面的列Date?
非常感谢,乔
我正在尝试计算在2009年6月1日之前90天和2009年6月1日之后90天销售的商品,下面的查询.它显示了一些错误.请有人亲切地为我做点什么吗???
SELECT
location,
SUM((CASE WHEN t.order_date DATEADD (DAY, -90, '6/1/2009') THEN t.Item ELSE NULL END) as Prior_Items,
SUM(CASE WHEN t.order_date DATEADD (DAY, 89, '6/1/2009') THEN t.Item ELSE NULL END) as Post_Items
ELSE NULL
END)
FROM mytable t
where date = '6/1/2009'
group by location
Run Code Online (Sandbox Code Playgroud)