我想检索以下示例中的数据。以下SQL将返回两条记录。SQL子查询错误
SELECT -1 AS NUM
FROM TABLE
WHERE COMP_CODE = 'TEST'
AND (DETL_REMK = 'Rest Day'
OR SHFT_CODE = 'WK_PH')
AND RSRV_DATE_1 IS NOT NULL
AND RSRV_DATE_1 BETWEEN @TR_FR AND @TR_TO
AND EMPE_ID = 'TEST'
GROUP BY EMPE_ID,
RSRV_DATE_1
我想显示下面。
ORG UNIT EMPE_ID FAM_NAME TMS_TYPE Qty
-----------------------------------------------------------------
'' '' '' Used -1
'' '' '' Used -1
所以,我正在努力做这样的SQL语句。但是我得到了错误 “子查询返回的值超过1,当子查询跟随=,!=,<,< =,>,> =或子查询用作表达式时,这是不允许的。
如何构建正确的SQL。请帮帮我。提前致谢。
SELECT '' ORG_UNIT, '' EMPE_ID, '' FAM_NAME, 'Used' AS TMS_TYPE,
ISNULL(CAST(
(SELECT -1 AS NUM
FROM TABLE
WHERE COMP_CODE = 'TEST'
AND (DETL_REMK = 'Rest Day'
OR SHFT_CODE = 'WK_PH')
AND RSRV_DATE_1 IS NOT NULL
AND RSRV_DATE_1 BETWEEN @TR_FR AND @TR_TO
AND EMPE_ID = 'TEST'
GROUP BY EMPE_ID, RSRV_DATE_1)AS NVARCHAR(MAX)),0) QTY
明白了。非常感谢。 –