kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/sp_GetFelhasznaloErintettTargyai.sql
2024-03-13 00:33:46 +01:00

44 lines
1.4 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS [dbo].[sp_GetFelhasznaloErintettTargyai]
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 = NULL
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
WHERE
T_TANTARGY.TOROLT = 'F' AND
T_TANTARGY.C_FOTARGYID IS NULL AND
(T_FOGLALKOZAS.C_TANARID = @felhasznaloId OR @felhasznaloId IS NULL)
)
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
GO