2017-04-17 6 views

답변

2

union [all] 구조의 열 별칭은 쿼리가 아닌 마지막에서 온다. 거기 별칭을 이동, 당신은 확인을해야한다 :

SELECT ROUND(K1,2) 
FROM (SELECT 5.66666 AS K1 UNION ALL -- Here! 
     SELECT 5.77777 UNION ALL 
     SELECT 5.88888 UNION ALL 
     SELECT 5.99999 UNION ALL 
     SELECT 6.66666 UNION ALL 
     SELECT 7.66666 UNION ALL 
     SELECT 8.66666 UNION ALL 
     SELECT 9.66666 UNION ALL 
     SELECT 9.55555 UNION ALL 
     SELECT 6.88888) K 
+0

이제 'Round가 잘못된 인수가없는 호출입니다.' –

+1

@AnkitBajpai 인수의 ** 숫자 **가 맞는 것처럼 보이지만 쿼리에서 문자열을 사용하고 있습니다. 숫자 리터럴 대신 리터럴을 사용합니다. 내 편집 된 답변보기 – Mureinik

+0

Yupp 지금 일하고있다. –

0

다음은 기록을 위해 휴식에 같은 이름을 걸릴 것입니다, 첫 번째 레코드에 대한 열 이름을 부여했다.

SELECT ROUND(K1,2) 
FROM (SELECT '5.66666' AS K1 UNION ALL 
     SELECT '5.77777' UNION ALL 
     SELECT '5.88888' UNION ALL 
     SELECT '5.99999' UNION ALL 
     SELECT '6.66666' UNION ALL 
     SELECT '7.66666' UNION ALL 
     SELECT '8.66666' UNION ALL 
     SELECT '9.66666' UNION ALL 
     SELECT '9.55555' UNION ALL 
     SELECT '6.88888') K 
+0

지금이 있음을 말하고있다 함수 '라운드가 잘못된 인수가없는 호출입니다.' –

0

가지 적어 별칭 이름을 첫 번째 열의 첫 번째 행 또는 첫 번째 열의 모든 행 에 대한 별명을 제공 :

SELECT ROUND(K1,2) 
    FROM 
    (
     SELECT '5.66666' AS K1 UNION ALL 
     SELECT '5.77777' AS K1 UNION ALL 
     SELECT '5.88888' AS K1 UNION ALL 
     SELECT '5.99999' AS K1 UNION ALL 
     SELECT '6.66666' AS K1 UNION ALL 
     SELECT '7.66666' AS K1 UNION ALL 
     SELECT '8.66666' AS K1 UNION ALL 
     SELECT '9.66666' AS K1 UNION ALL 
     SELECT '9.55555' AS K1 UNION ALL 
     SELECT '6.88888' AS K1 
    ) K 
+0

이제 함수 'Round가 잘못된 인수가없는 호출입니다.' –

+0

@ AnkitBajpai, 쿼리를 확인하십시오. 쿼리가 잘 작동합니다. 마지막으로 시도한 쿼리를 여기에 게시하십시오. – Mansoor