Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一个SQL列划分为具有标题的子组_Sql_Sql Server_Select_Telerik_Radcombobox - Fatal编程技术网

将一个SQL列划分为具有标题的子组

将一个SQL列划分为具有标题的子组,sql,sql-server,select,telerik,radcombobox,Sql,Sql Server,Select,Telerik,Radcombobox,我有两张桌子 地位 SNO | STATUS | DEPARTMENT_ID 1 In progress 1 2 Assigned 2 3 Quoted 2 4 Development 3 部门 SNO | DEPARTMENT | 1 DESIGNING 2 MARKETING 3 PRODUCTION 现在我希望使用SQL存储过程得到这样的结果 Some Custom Column Nam

我有两张桌子

地位

SNO | STATUS | DEPARTMENT_ID

1   In progress      1
2    Assigned        2
3     Quoted         2
4   Development      3
部门

SNO | DEPARTMENT |

1     DESIGNING
2     MARKETING
3     PRODUCTION
现在我希望使用SQL存储过程得到这样的结果

Some Custom Column Name | DEPARTMENT_ID

DESIGNING                      -
In Progress                    1
MARKETING                      -
Assigned                       2
Quoted                         2
PRODUCTION                     -
Development                    3
自定义列将用于填充Telerik RadComboBox,其中设计、营销和生产充当状态之间的分隔符

Select Department, -1 from Department_Table
Union
Select StatusName, Department_ID from Status_Table

请详细说明您的问题,以便我们提供更好的答案。目前,您似乎只想返回两个表的联接数据。

通常,这种类型的操作更容易在应用程序级别完成。您可以在SQL中使用
union all
order by
执行此操作,但是:

select status as CustomColumnName, department
from ((select s.status, d.department, 1 as ordering
       from status s join
            departments d
            on s.department_id = d.sno
      ) union all
      (select d.department, NULL, 0 as ordering
       from departments d
      )
     ) dd
order by CustomColumnName, ordering;

注意:这会将
-
视为
NULL

试试这个。其他样本数据可以吗

DECLARE @STATUS TABLE (
    SNO INT
    ,[STATUS] VARCHAR(50)
    ,DEPARTMENT_ID INT
    )

INSERT INTO @STATUS
VALUES (1,'In progress' ,1)
    ,(2,'Assigned',2)
    ,(3,'Quoted',2)
    ,(4,'Development',3)

DECLARE @DEPARTMENT TABLE (SNO INT,DEPARTMENT VARCHAR(50))

INSERT INTO @DEPARTMENT
VALUES (    1,'DESIGNING'),(2,'MARKETING')
    ,(3,'PRODUCTION')
    --select * from @STATUS
    --select * from @DEPARTMENT
    ;

WITH CTE
AS (
    SELECT DEPARTMENT [CustomeColumn]
        ,'-' DEPARTMENT_ID
        ,sno
    FROM @DEPARTMENT

    UNION ALL

    SELECT [STATUS]
        ,cast(DEPARTMENT_ID AS VARCHAR(10))
        ,(
            SELECT sno
            FROM @DEPARTMENT
            WHERE sno = a.DEPARTMENT_ID
            )
    FROM @STATUS A
    )
SELECT *
FROM CTE
ORDER BY sno

啊。很抱歉我错过了订购部分。需要订购部分吗?@kalairasanmanimaran。对OP似乎有一个特定的顺序。