SQL查询设计,用于根据SQL Server中的列值获取具有列的表
我想在SQL Server中执行SQL查询以获取表: 表1:SQL查询设计,用于根据SQL Server中的列值获取具有列的表,sql,sql-server,sql-server-2008,windows-7,pivot,Sql,Sql Server,Sql Server 2008,Windows 7,Pivot,我想在SQL Server中执行SQL查询以获取表: 表1: id t value 1 R 2412 1 Q 98797 2 R 132 2 Q 7589 我需要一张桌子: id R_value Q_value 1 2412 98797 2 132 7589 我用过这个箱子,但我 id R_value Q_value 1 2412 null 1 null
id t value
1 R 2412
1 Q 98797
2 R 132
2 Q 7589
我需要一张桌子:
id R_value Q_value
1 2412 98797
2 132 7589
我用过这个箱子,但我
id R_value Q_value
1 2412 null
1 null 98797
任何帮助都将不胜感激。使用条件聚合:
使用条件聚合:
使用条件聚合:
使用条件聚合:
您可以将
max
或min
与groupby
一起使用,以去除null
值并聚合具有相同id
的行:
select id
, min(case when t = 'R' then value end) as R_value
, min(case when t = 'Q' then value end) as Q_value
from tbl
group by id
您可以将
max
或min
与groupby
一起使用,以去除null
值并聚合具有相同id
的行:
select id
, min(case when t = 'R' then value end) as R_value
, min(case when t = 'Q' then value end) as Q_value
from tbl
group by id
您可以将
max
或min
与groupby
一起使用,以去除null
值并聚合具有相同id
的行:
select id
, min(case when t = 'R' then value end) as R_value
, min(case when t = 'Q' then value end) as Q_value
from tbl
group by id
您可以将
max
或min
与groupby
一起使用,以去除null
值并聚合具有相同id
的行:
select id
, min(case when t = 'R' then value end) as R_value
, min(case when t = 'Q' then value end) as Q_value
from tbl
group by id
您可以像这样轻松地使用table运算符:
SELECT
id,
R AS R_value,
Q AS Q_value
FROM table1 AS t1
PIVOT
(
MAX(value)
FOR t IN(R, Q)
) AS p;
| id | R_value | Q_value |
|----|---------|---------|
| 1 | 2412 | 98797 |
| 2 | 132 | 7589 |
您可以像这样轻松地使用table运算符:
SELECT
id,
R AS R_value,
Q AS Q_value
FROM table1 AS t1
PIVOT
(
MAX(value)
FOR t IN(R, Q)
) AS p;
| id | R_value | Q_value |
|----|---------|---------|
| 1 | 2412 | 98797 |
| 2 | 132 | 7589 |
您可以像这样轻松地使用table运算符:
SELECT
id,
R AS R_value,
Q AS Q_value
FROM table1 AS t1
PIVOT
(
MAX(value)
FOR t IN(R, Q)
) AS p;
| id | R_value | Q_value |
|----|---------|---------|
| 1 | 2412 | 98797 |
| 2 | 132 | 7589 |
您可以像这样轻松地使用table运算符:
SELECT
id,
R AS R_value,
Q AS Q_value
FROM table1 AS t1
PIVOT
(
MAX(value)
FOR t IN(R, Q)
) AS p;
| id | R_value | Q_value |
|----|---------|---------|
| 1 | 2412 | 98797 |
| 2 | 132 | 7589 |
我们需要R作为R_值吗?否则,它将不起作用。谢谢不,你可以选择*而不是我们需要R作为R_值吗?否则,它将不起作用。谢谢不,你可以选择*而不是我们需要R作为R_值吗?否则,它将不起作用。谢谢不,你可以选择*而不是我们需要R作为R_值吗?否则,它将不起作用。谢谢不,你可以改为选择