小编use*_*474的帖子

SQL PIVOT:一对多

我在SQL中有2个表.

dbo.main

|id | mid | tid 
 1    yes    no
Run Code Online (Sandbox Code Playgroud)

dbo.external

| id | type | element |
  1    c        9
  1    d        10
  1    h        11
  1    g        12
Run Code Online (Sandbox Code Playgroud)

我试图实现的是:

| id | mid | tid | c | d | h | g  |
  1    yes    no   9  10  11   12
Run Code Online (Sandbox Code Playgroud)

我尝试在dbo.external statment上使用pivot作为

SELECT *
FROM 
(
  SELECT id,type,element
  FROM dbo.external
) SRC
PIVOT
(
  MAX(FIELD_DATA)
  FOR FIELD_NUMBER IN (id,type,element)
) PIV;
Run Code Online (Sandbox Code Playgroud)

问题是:如何在一个sql语句中转动dbo.external然后加入dbo.main?

sql sql-server pivot

5
推荐指数
1
解决办法
415
查看次数

如何在SQL中获取一串行?

这是我的表

MY_TABLE

| id | first4 | last4 | reason |
--------------------------------
|  1 |   123  |  456  | Cancel |
|  2 |   123  |  789  | Correct|
Run Code Online (Sandbox Code Playgroud)

问题

它进入循环并获取信息,但最后它只显示最后一行

例:

id = 1 
first4 = 123 
last4 = 456 
reason = cancel
Run Code Online (Sandbox Code Playgroud)

我试图实现的是一个像这样渲染的字符串:

id = 1,2;
first4 = 123,123;
last4 = 456,789;
reason = Cancel,Correct
Run Code Online (Sandbox Code Playgroud)

C#我使用

try
{
    SqlDataReader render = cmd.ExecuteReader();
    while (render.Read())
    {
        while (render.Read())
        {
            column = new Dictionary<string, string>();

            column["id"] = string.Join(",", …
Run Code Online (Sandbox Code Playgroud)

c# sql

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

标签 统计

sql ×2

c# ×1

pivot ×1

sql-server ×1