Objective c 您使用的是SQL Server的N?我已经编辑了问题。对于简单的查询,您可以推荐乔@ C提供的答案。请考虑将乔C的答案标记为“接受”(大“嘀嗒符号”)。在他的问题旁边,请考虑将乔C的答案标记为“接受”(大“滴答符号”)。 SET ANSI_NULLS ON
Objective c 您使用的是SQL Server的N?我已经编辑了问题。对于简单的查询,您可以推荐乔@ C提供的答案。请考虑将乔C的答案标记为“接受”(大“嘀嗒符号”)。在他的问题旁边,请考虑将乔C的答案标记为“接受”(大“滴答符号”)。 SET ANSI_NULLS ON,objective-c,sql-server,Objective C,Sql Server,您使用的是SQL Server的N?我已经编辑了问题。对于简单的查询,您可以推荐乔@ C提供的答案。请考虑将乔C的答案标记为“接受”(大“嘀嗒符号”)。在他的问题旁边,请考虑将乔C的答案标记为“接受”(大“滴答符号”)。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name&
您使用的是SQL Server的N?我已经编辑了问题。对于简单的查询,您可以推荐乔@ C提供的答案。请考虑将乔C的答案标记为“接受”(大“嘀嗒符号”)。在他的问题旁边,请考虑将乔C的答案标记为“接受”(大“滴答符号”)。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- ALTER date: <ALTER Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[_spGetEmpList]
@strComCode as varchar(50),
@iDepID as INT,
@strType AS varchar(20)
AS
BEGIN
DECLARE @bNameOrder as bit
SET NOCOUNT ON;
SELECT @bNameOrder = dbo.svnGetSetupOption(@iDepID,
'LastNamePreceedsFirstName',
@strComCode)
IF ( @bNameOrder IS NULL )
SET @bNameOrder = 0
IF(@strType = 'Emp')
BEGIN
--0**************************************
SELECT EmpID AS ResourceID, EmpNumber
FROM Emuloyeetbl
WHERE Emuloyeetbl.IsActive = 1 AND DepID = @iDepID
ORDER BY EmpFName
--1**************************************
SELECT DepartmentName
FROM tblDepartment
WHERE IsActive = 1
--2**************************************
SELECT OptionValue AS EmpRole
FROM EmpRole
WHERE OptionName = 'EmployeeRole' AND DepID = @iDepID AND IsActive = 1
--3**************************************
Select EmployeeFirstName + ' '+EmplouyeeLastName as EmpName
from EmpTable
Where DepID = @iDepID AND EmpSalary < 10
END
END
Create Table #EmpTable (EmployeeFirstName Varchar(8000), EmployeeLastName Varchar(8000), EmpSalary Decimal(15,2))
Insert #EmpTable Values ('Jill', 'Jacobs', 20000)
Insert #EmpTable Values ('Joe', 'Johnson', 60000)
If Exists(Select null from #EmpTable Where EmpSalary < @Filter)
Select EmployeeFirstName + ' '+EmployeeLastName as EmpName from #EmpTable Where EmpSalary < @Filter
Else
Select '' as EmpName
-- If looking for less than 10 a blank row is returned.
Declare @Filter Decimal = 10
If Exists(Select null from #EmpTable Where EmpSalary < @Filter)
Select EmployeeFirstName + ' '+EmployeeLastName as EmpName from #EmpTable Where EmpSalary < @Filter
Else
Select '' as EmpName
-- This returns the record for Jill Jacobs
Declare @Filter Decimal = 30000
If Exists(Select null from #EmpTable Where EmpSalary < @Filter)
Select EmployeeFirstName + ' '+EmployeeLastName as EmpName from #EmpTable Where EmpSalary < @Filter
Else
Select '' as EmpName
CREATE TABLE EmpTable( EmployeeFirstName VARCHAR( 10 ), EmplouyeeLastName VARCHAR( 10 ), EmpSalary INT )
INSERT INTO EmpTable
VALUES
( 'John', 'Smith', 9 ),
( 'Bob', 'Smith', 11 )
DECLARE @MaxSalary INT
SET @MaxSalary = 7
;WITH EmpTable2 (EmpName)
AS
(
SELECT EmployeeFirstName + ' '+EmplouyeeLastName as EmpName
FROM EmpTable
WHERE EmpSalary < @MaxSalary
)
SELECT *
FROM EmpTable2
/* Add Dummy row when no records have been returned by CTE */
UNION ALL
SELECT 'None' AS EmpName
WHERE NOT EXISTS( SELECT * FROM EmpTable2 )
SELECT EmpName
FROM
( SELECT EmpName, COUNT(*) OVER() AS Cnt
FROM
( SELECT EmployeeFirstName + ' ' + EmplouyeeLastName AS EmpName
FROM EmpTable
WHERE EmpSalary < @MaxSalary
UNION ALL
SELECT 'None' AS EmpName
) AS a
) AS b
WHERE ( Cnt > 1 AND EmpName != 'None' ) OR Cnt = 1
IF EXISTS( Select EmployeeFirstName + ' '+EmplouyeeLastName as EmpName
from EmpTable
Where DepID = @iDepID AND EmpSalary < 10)
BEGIN
Select EmployeeFirstName + ' '+EmplouyeeLastName as EmpName
from EmpTable
Where DepID = @iDepID AND EmpSalary < 10
ORDER BY EmpName
END
ELSE
BEGIN
SELECT '' AS EmpName
END