kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetFelhasznaloErintettTargyai.sql
2024-03-13 00:33:46 +01:00

48 lines
No EOL
1.5 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFelhasznaloErintettTargyai]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[sp_GetFelhasznaloErintettTargyai]
END
GO
-- =============================================
-- Author: <Hoffmann Zsolt>
-- Create date: <2016. 03. 03.>
-- Description: <Felhasználóhoz kötheto tantárgyak és egyéb tantárgyak>
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFelhasznaloErintettTargyai]
@felhasznaloId int
AS
BEGIN
SET NOCOUNT ON;
with q (ID,Nev,Tipus) as
(select
T_TANTARGY.ID,
T_TANTARGY.C_NEV Nev,
'1' Tipus
from T_TANTARGY
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID
left join T_FOGLALKOZASOK_TANAROK on T_FOGLALKOZASOK_TANAROK.C_FOGLALKOZASOKID = T_FOGLALKOZAS.ID
where T_TANTARGY.TOROLT = 'F' and
T_TANTARGY.C_FOTARGYID is null and
T_FOGLALKOZASOK_TANAROK.C_TANAROKID = @felhasznaloId)
select ID,Nev,tipus from q
union
select distinct
T_TANTARGY.ID,
T_TANTARGY.C_NEV Nev,
'3' Tipus
from T_TANTARGY
inner join T_FOGLALKOZAS on T_FOGLALKOZAS.C_TANTARGYID = T_TANTARGY.ID and T_FOGLALKOZAS.TOROLT = 'F'
inner join T_OSZTALYCSOPORT on T_OSZTALYCSOPORT.ID = T_FOGLALKOZAS.C_OSZTALYCSOPORTID and T_OSZTALYCSOPORT.TOROLT = 'F'
inner join T_OSZTALY on T_OSZTALY.ID = T_OSZTALYCSOPORT.ID and T_OSZTALY.TOROLT = 'F'
where T_TANTARGY.TOROLT = 'F' and
(T_OSZTALY.C_OSZTALYFONOKID = @felhasznaloId or T_OSZTALY.C_OFOHELYETTESID = @felhasznaloId) and
T_TANTARGY.ID not in (select ID from q)
END