我使用oracle10gpl sql,我想将行转换成列,但是列应该是动态的,而不是硬编码的。
select *
from
"EnumerationValue"
pivot
(count("pkEnumerationValueId")
for "Text" in (select "Text" from "EnumerationValue" where "fkEnumerationId"=6));
我通过搜索找到了这个查询,但是它给了我错误。
ORA-00933: SQL c
我正在编写一个SQL查询,它显示送货详细信息,并在单独的列中显示所有送货物品ID,用逗号分隔。delivery和DeliveryItems都在一个单独的表中,所以我想我将使用一个连接来检索链接到该delivery的所有条目,但是我如何将它们放入将要显示的列中,并用逗号分隔每个条目呢?
谢谢
编辑:这是我的表格结构的一个想法
Deliveries -
ID (PK)
...(other non relevant fields)...
DeliveryItems -
ID (PK)
Delivery (links to ID of delivery)
因此,对于该交付的每个项目,我希望在该交付的
如何在SQL中简单地切换列和行?有什么简单的命令可以转置吗?
例如,将此结果转换为:
Paul | John | Tim | Eric
Red 1 5 1 3
Green 8 4 3 5
Blue 2 2 9 1
如下所示:
Red | Green | Blue
Paul 1 8 2
John 5 4 2
Tim 1 3 9
Eric
我有张桌子看起来像这样:
ID YEAR SOURCE VALUE
1 2014 AV 15
1 2014 OV 25
1 2015 AV 87
2 2014 AX 44
2 2015 AZ 32
2 2015 NL 2
3 2011 OV 104
我想要重新构造表,以提供一个新列,在该列中,从源AV、AX和NL提供的值被求和,而另一列则提供
我刚刚开始学习如何使用Pandas,我正在尝试使用一个相当大的数据集(5000行和15列)。数据具有这样的格式(给出我面临的问题的一个例子,因为我想了解如何做到这一点--实际的数据与终止无关)。
ID# Firing Date Age State Position Cause
1 2011-07-03 29 NY Salesman Layoff
2 2014-03-20 25 AK salesman layoff
3 2004-08
我怎样才能按年数来划分枢轴呢?
SELECT YEAR(bolfecha) ,pvt.[C],PVT.[P]
FROM
(select bolfecha, bolestado
from Tbboleta) as src
PIVOT
(
COUNT(bolestado)
FOR bolestado IN ([C], [P])
) AS pvt;
这是一个列,它的日期类似于2005-02-01,使用这段代码给我每年的时间,而不是只按2005年分组,然后是2006年的所有寄存器,等等.
我试着找出有多少'C‘和'P’是在专栏中注册的,这是可行的,但我不能只是按年分组,请给我这样的
我有一个数据库,其中有一列包含一系列数字,我正在尝试选择一个范围,但得到的结果很奇怪。
列数据类型被设置为VARCHAR,而不是INT,因为将来这些值可能包含字母数字值,但目前,它们是纯数字的。
我尝试了像"SELECT * FROM table WHERE number >= '1' AND number <= '458'"这样的语句,但我得到的不是从1到458的数字,我得到的序列是1,2,3,4,10,11,12……等。
缺少数字,所以我假设SQL应用的是我不熟悉的逻辑。如果我使用整数进行搜索,而不使用单引号,则此查询确实会给出预
我想在SQL Server中做一个简单的转置,并显示1行和多列。我已经看过pivot和unpivot,它们对于这个场景来说似乎太复杂了。我正在运行一个简单的SQL查询来获取行:
select name
from sys.databases
where name like '%trn%'
示例数据:
prpc_trn
prpc_trn_arc
prpc_trn_IntegrationAuditDetails
prpc_trn_IntegrationAuditDetailsArchive
prpc_trn_Lumley
prpc_trn_PerformanceLoggingDe
我有以下SQL Server查询,它将一个逗号分隔的列表放入一个字段中。
结果看起来像这样的2003, 9083, 4567, 3214
问:将其放入列中的最佳方式(SQL语法)是什么?
意思是,我需要这些显示为1列为"2003",1列为"9083“1列,为"4567”..etc。
显然,列数将根据我提供的策略ID而动态变化。任何想法都将不胜感激。
我的问题如下。
SELECT DISTINCT x.ClassCode + ', '
FROM PremByClass x
WHERE x.PolicyId = 1673885
FOR XML PAT
我试图分析>10K行的数据。它包含2列。第一列有ID号。这个数字在不同的时间从一行重复到另一行。列2只有数字,如果第1列中的值相同,我想总结一下。
,例如:显示附例的图像.
首先,我所做的-是从A/Z中过滤出来的,并试图通过循环查找重复项目的数量:
Private Sub CommandButton1_Click()
Dim row, B, i, col As Long
Dim H As Worksheet
Set H = Sheets("Sheet1")
H.Activate
row = H.Cells(Rows.Count, 1).End(xlUp).
我正在尝试使用PreparedStatement批量更新,其中您获得的数据会随您可用的数据而变化。
简单的例子:
您有一个包含列x和y的表。您的inputdata是行的表示,其中只存在修改后的列。因此,对于第1行,x='foo‘,对于第2行,y='bar’。为了使用PreparedStatement对这些数据进行批处理,您需要一条SQL语句:"update table where x=?,y=?where etc“。
我正在努力的解决方案是将列设置为已经存在的值,但我不确定这是否可行。在原始SQL中,您可以编写"update table where x=x an
我一直在以错误的方式处理一个问题。我研究过枢轴的例子
但它们不是我要找的那种..。或者我是以错误的方式来处理这个问题,而且我对sql server还很陌生。
我想要改变:
学生:
studid | firstname | lastname | school
-----------------------------------------
1 mike lee harvard
1 mike lee ucdavis
1 mike lee sfsu
2
我正在尝试将我的SQL表行转置为列,但我需要基于'Quiz‘列中的组创建结果行。
我读过关于将行转置为列的帖子,但由于我试图实现的是对列进行分组,并且我需要使用“Score”列中的所有值,因此我不知道如何实现我想要的结果。
原表:
Quiz | Name | Score
---------------------------
A | Andy | 10
A | Drew | 8
A | Mark | 7
A | Samm | 6
B | Andy | 9
B | Drew | 7
B |
我在Ms. 2007中有一个交叉表查询,我希望转换到SQL Server 2008。我不熟悉SQL中的交叉表方法,你们能提供一些见解吗?
下面是我的Ms.Access代码。
TRANSFORM IIf(Count([Admit_ID]) Is Null,0,Count([Admit_ID])) AS Expr1
SELECT [Admits].[PatientNumber] & '-' & [Admits].[PlanCode] AS Code]
FROM Admits
WHERE (((Admits.Admitdate)>="200701
sql表如下所示,
Name Salary NoticePeriod CTC
Jack 1520 15 123
Bruce 1423 35 165
它包含大约1000行。
我需要对这个表进行转置,以便预期的输出是
Fields Jack Bruce Mike ..... Sam
Salary 1520 1423 235 .. 561
NoticePeriod 15