23 lines
739 B
Transact-SQL
23 lines
739 B
Transact-SQL
ALTER FUNCTION [dbo].[foo_GetIdenticalChannelCount]
|
|
(
|
|
@GroupId1 int,
|
|
@GroupId2 int
|
|
)
|
|
RETURNS int
|
|
AS
|
|
BEGIN
|
|
return (
|
|
SELECT COUNT(*)
|
|
FROM [dbo].[Channels] C1,
|
|
[dbo].[Channels] C2
|
|
WHERE C1.GroupId = @GroupId1
|
|
AND C2.GroupId = @GroupId2
|
|
AND ((C1.SensorId IS NULL AND C2.SensorId IS NULL) OR (C1.SensorId = C2.SensorId))
|
|
AND SUBSTRING(C2.IsoCode, 3, 14) LIKE SUBSTRING(REPLACE(C1.IsoCode, '?', '_'), 3, 14)
|
|
AND C1.IsoChannelName = C2.IsoChannelName
|
|
AND C1.UserCode = C2.UserCode
|
|
AND C1.UserChannelName = C2.UserChannelName
|
|
AND (C1.DASId IS NULL OR C2.DASId IS NULL OR C1.DASId = C2.DASId)
|
|
AND (C1.DASId IS NULL OR C2.DASId IS NULL OR C1.DASChannelIndex = C2.DASChannelIndex)
|
|
)
|
|
END |