DECLARE @P_DT_FROM NVARCHAR(8)
DECLARE @P_dT_TO NVARCHAR(8)
DECLARE @P_매출액 DECIMAL(17,4)
SET @P_DT_FROM = '20150301'
SET @P_DT_TO = '20151231'
SELECT CD_COMPANY,
CD_PARTNER,
SUM(AM_SALE1)
FROM SA_FRAN_POSLINK_SALEH_DAY
WHERE CD_COMPANY = 'TEST'
AND (ISNULL('', '') = '' OR CD_PARTNER = '')
AND DT_SALE BETWEEN @P_DT_FROM AND @P_DT_TO
GROUP BY CD_COMPANY,
CD_PARTNER
여기서질문
SET @P_매출액 = SUM(AM_SALE1) 처럼
위의 쿼리에서 SUM(AM_SALE1) 의 값을 @P_매출액에 넣고싶습니다.. 어떻게해야할까요?
Comment 5
-
Terry
2016.01.13 14:23
-
후알유?
2016.01.13 14:31
변수에 값을 할당하는 SELECT 문은 데이터 검색 작업과 함께 사용할 수 없습니다.
라고 오류뜨네요...
-
Terry
2016.01.13 14:44
헛..당연히 될거라 생각하고 댓글 달았었는데..
저도 해보니 안되네요^^;;
잘못된 덧글로 혼란이 가중되셨을듯한데..
미안합니다 ㅠ.ㅠ
-
Terry
2016.01.13 14:25
변수에 값을 할당시 2가지 방법이 있습니다.
1. Set @변수명 = 값
2. Select @변수명 = 값
2번이 가능한 형태이니
Table 또는 View 에서 Select
쿼리문에서도 변수에 값을 할당하는게 가능한 형태구요.
-
Terry
2016.01.13 16:08
변수에다가 값만 할당하는 형태로 해야되네요 ^^;
단 Select 결과값의 Row는 무조건 1 Row 여야 할 겁니다.
---쿼리시작---
DECLARE @P_DT_FROM NVARCHAR(8)
DECLARE @P_DT_TO NVARCHAR(8)
DECLARE @P_매출액 DECIMAL(17,4)
SET @P_DT_FROM = '20150301'
SET @P_DT_TO = '20151231';with SA_FRAN_POSLINK_SALEH_DAY(CD_COMPANY,CD_PARTNER,AM_SALE1,DT_SALE) As
(
Select 'TEST','',1000,'20150301' Union All
Select 'TEST','',1000,'20150401' Union All
Select 'TEST','',1000,'20150501' Union All
Select 'TEST','',1000,'20150601' Union All
Select 'TEST2','',1000,'20150701'
)
SELECT @P_매출액 = SUM(AM_SALE1)
FROM SA_FRAN_POSLINK_SALEH_DAY
WHERE CD_COMPANY = 'TEST'
AND (ISNULL('', '') = '' OR CD_PARTNER = '')
AND DT_SALE BETWEEN @P_DT_FROM AND @P_DT_TO
GROUP BY CD_COMPANY,
CD_PARTNERSELECT @P_매출액
---쿼리끝---
하기 쿼리 참고하세요..
---쿼리시작---
SELECT CD_COMPANY,
CD_PARTNER,
SUM(AM_SALE1) ,
@P_매출액 = SUM(AM_SALE1)
FROM SA_FRAN_POSLINK_SALEH_DAY
WHERE CD_COMPANY = 'TEST'
AND (ISNULL('', '') = '' OR CD_PARTNER = '')
AND DT_SALE BETWEEN @P_DT_FROM AND @P_DT_TO
GROUP BY CD_COMPANY,
CD_PARTNER
Select @P_매출액
---쿼리끝---