Sqler에 있는 질문에 대해 풀어봤다.
문제1 ) http://www.sqler.com/827048#4
/* 100000과 가장 가까운 근사치값을 구할때 */
select n, v, abs( v - 100000 )
from (
values
(1, 1000 ),
(2, 2300 ),
(3, 1000 ),
(4, 5000 ),
(5, 16000 ),
(6, 54000 ),
(7, 8200 ),
(8, 1500 ),
(9, 2555 )
) as tb( n, v )
order by 3
이렇게 하면 가장 가까운게 위로 올라온다.
문제2 ) http://www.sqler.com/bSQLQA/827651
피봇으로 데이타를 만들때 내부 데이타가 집계가 아닌 실제 원소데이타를 포함하도록 뿌려달라는 것 같다.
declare @ttb table
(
TESTBENCH int,
TESTWEEK varchar(100),
TESTNAME varchar(100)
)
insert into @ttb
select *
from
(
values
(1, 'W1618.1', 'TEST1'),
(1, 'W1618.1', 'TEST2'),
(1, 'W1618.1', 'TEST3'),
(1, 'W1618.2', 'TEST1'),
(1, 'W1618.3', 'TEST2'),
(2, 'W1618.2', 'TEST1'),
(2, 'W1618.2', 'TEST3'),
(2, 'W1618.3', 'TEST2'),
(2, 'W1618.4', 'TEST2'),
(2, 'W1618.4', 'TEST3')
) as tb (TESTBENCH, TESTWEEK, TESTNAME )
declare @TESTBENCH int
declare @W1 varchar(100), @W2 varchar(100), @W3 varchar(100), @W4 varchar(100)
declare @result table
(
TESTBENCH int,
[W1618.1] varchar(100),
[W1618.2] varchar(100),
[W1618.3] varchar(100),
[W1618.4] varchar(100)
)
declare rst cursor
for
select TESTBENCH, [W1618.1], [W1618.2], [W1618.3], [W1618.4]
from @ttb
pivot
(
count( TESTNAME ) for TESTWEEK in ( [W1618.1], [W1618.2], [W1618.3], [W1618.4] )
) as p
OPEN rst
FETCH NEXT FROM rst
INTO @TESTBENCH, @W1, @W2, @W3, @W4
WHILE @@FETCH_STATUS = 0
BEGIN
select @W1 = '', @W2 = '', @W3 = '', @W4 = ''
select @W1 += TESTNAME + char(10)
from @ttb
where TESTBENCH = @TESTBENCH
and TESTWEEK = 'W1618.1'
select @W2 += TESTNAME + char(10)
from @ttb
where TESTBENCH = @TESTBENCH
and TESTWEEK = 'W1618.2'
select @W3 += TESTNAME + char(10)
from @ttb
where TESTBENCH = @TESTBENCH
and TESTWEEK = 'W1618.3'
select @W4 += TESTNAME + char(10)
from @ttb
where TESTBENCH = @TESTBENCH
and TESTWEEK = 'W1618.4'
insert into @result
select @TESTBENCH, @W1, @W2, @W3, @W4
FETCH NEXT FROM rst
INTO @TESTBENCH, @W1, @W2, @W3, @W4
END
CLOSE rst;
DEALLOCATE rst;
select *
from @result
커서를 이용하면 되긴 하는데 고정 컬럼으로 만들었을때 위와 같고, 가변적으로 해야 할때는 부분부분 function으로 동작할수 있게 하고 줄여서
동적 쿼리로 만들어주면 된다.
'# 7) 데이타베이스 > Ms-Sql' 카테고리의 다른 글
sqler에 올라온 질문글... (0) | 2016.09.12 |
---|---|
Sqler에 있는 질문에 대해 풀어봤다. (0) | 2016.05.20 |
Sqler에 있는 질문에 대해 풀어봤다. (0) | 2016.05.11 |
경고: 집계 또는 다른 ... 어쩌고 저쩌고 (0) | 2016.02.17 |
MS-SQL] 코드트리 + 상세내역에 코드별 합계쿼리. (0) | 2013.02.26 |