卿を取得するには、クエリ結果の二つの画像 & 必要な出力と続きます。SQLクエリは、私のSQLクエリは、以下の、構造化された結果に
ご覧のとおり結果画像この出力から次のクエリを実行しています。
の2番目の画像があります。必要な出力です。私はその形式で出力を表示する必要があります。最初の部署名は先頭に&とする必要があります。プロジェクトの詳細はその部門に対応しています。各部門ごとに同じサイクルが繰り返されるはずです。
どうすればよいですか?
SQLコード:
DECLARE @ColName varchar(20)=null,
@Query varchar(MAX)=null,
@DepartmentName varchar(50)=null,
@deptt_code varchar(4)=null,
@DistrictId varchar(4)='0001',
@Deptt_Id char(4)=null,
@stYear varchar(4)=null,
@cYear varchar(4)=null,
@yr varchar(9)='2017-2018',
@tno int
BEGIN
set @stYear = SUBSTRING(@yr,0,5);
set @cYear = SUBSTRING(@yr,6,4);
--CREATE DYNAMIC TABLE WITH COLs
DECLARE @DepartmentTable table
(
department_name varchar(50),
department_code varchar(4)
);
DECLARE @ProjectTable table
(
project_name varchar(130),
project_code varchar(15),
department_code varchar(4),
department_name varchar(50),
district_code varchar(4),
district_name varchar(30),
tehsil_code varchar(6),
tehsil_name varchar(30),
service_code varchar(3),
[service_name] varchar(30),
sector_code varchar(3),
sector_name varchar(30),
project_start_year varchar(8),
project_compl_year varchar(8),
financial_year varchar(9)
);
--Insert into Department Table
INSERT INTO @DepartmentTable (department_code, department_name)
select deptt_code,deptt_name+'('+ RTRIM(LTRIM(deptt_short))+')' as dept_name from m_Department
where deptt_code in (select distinct department_code from t_Project_Details where [email protected]
and [email protected]);
--Insert into Project Table With Corresponding Department Name & Code
insert into @ProjectTable (
department_code,
project_code,
project_name,
department_name,
district_code,
district_name,
tehsil_code,
tehsil_name,
service_code,
[service_name],
sector_code,
sector_name,
project_start_year,
project_compl_year,
financial_year
)
SELECT pd.department_code,
pd.project_Code,
pd.project_name,
d.deptt_name,
pd.district_id,
di.district_name,
pd.tehsil_id,
t.tehsil_name,
pd.service_code,
s.[service_name],
pd.sector_code,
se.sector_name,
CONVERT(varchar,YEAR(pd.project_initiation_fin_from_yr)) + ' ' + CONVERT(varchar(3),pd.project_initiation_fin_from_yr,100) as project_start_year,
CONVERT(varchar,YEAR(pd.project_initiation_fin_to_yr)) + ' ' + CONVERT(varchar(3),pd.project_initiation_fin_to_yr,100) as project_compl_year,
pd.financial_year
FROM t_Project_Details pd
INNER JOIN m_Department d
ON d.deptt_code=pd.department_code
INNER JOIN m_Service s
ON s.service_code = pd.service_code
INNER JOIN m_Sector se
ON se.sector_code=pd.sector_code
INNER JOIN m_District di
ON di.district_code=pd.district_id
INNER JOIN m_Tehsil t
ON t.tehsil_code = pd.tehsil_id
WHERE
[email protected] and
[email protected];
--select all from Department Table;
select * from @ProjectTable;
END
クエリ結果の画像:https://drive.google.com/open?id=0Bxn7UXgmstmRaS1qX21kbjlwZzg
必要な出力画像:https://drive.google.com/open?id=0Bxn7UXgmstmRekJkUWhBcmNCbk0
実際のテキストコードの代わりにイメージを含めないでください。また、あなたの質問は非常に長く、実際の問題がどこにあるか教えてくれるのはあなたの仕事です。 –
先生、私が持っている画像には、私が得たものと私が必要としたものを示すだけです。 –
問題は、出力イメージで指定したとおりに出力を指定されたフォーマットで取得できないことです。それは達成可能ですか? –