44 lines
1.4 KiB
Transact-SQL
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
|