fnEmailJobsHavingConditionBlockConditionCombination

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@EmailID int IN
@CBCCombination xml IN

Definition

Copy


            CREATE FUNCTION [dbo].[fnEmailJobsHavingConditionBlockConditionCombination]
            (
                @EmailID        int,
                @CBCCombination XML
            )
            RETURNS TABLE
            AS
            RETURN
                SELECT
                    ej.[ID]
                FROM
                    [dbo].[EmailJob] ej
                INNER JOIN [dbo].[EmailJobConditionBlockCondition] ejcbc
                    ON
                        ej.[ID] = ejcbc.[EmailJobID]
                    AND
                        ej.[EmailID] = @EmailID
                INNER JOIN @CBCCombination.nodes('/ConditionBlockConditions/ConditionBlockCondition') cbcNodes(cbc)
                    ON
                        ejcbc.[ConditionBlockConditionID] = cbcNodes.cbc.value('@ID', 'int')
                GROUP BY ej.[ID]
                    HAVING
                        Count(ejcbc.[ConditionBlockConditionID]) =
                            @CBCCombination.value('count(/ConditionBlockConditions/ConditionBlockCondition)', 'int')