중복제거된 목록에서 항목별 TOP 1 (?)
MS-SQL 에서 중복제거는 DISTINCT 키워드로 가능하다.
MS-SQL 에서 제일 위에 있는 데이터를 보기 위해서는 TOP (숫자) 키워드로 가능하다.
(괄호안의 숫자는 상위 몇개까지 보여질지 결정하는 숫자)
[테스트 환경]
1.MS-SQL
2.1000라인의 사용자 정보 데이터(더미 데이터) (www.mockaroo.com)
3.사번, 이름, 이메일, 성별, 부서코드 등의 컬럼이 있지만, 이름과 부서코드 컬럼만 사용
4.부서코드는 D001 부터 D012 까지 코드가 있음
[목표]
각 부서코드로 조회시 제일 위에 나오는 사용자에게 팀장 권한을 주려고 함.
(말이 안되는 상황이지만, 어디까지나 임의의 데이터로하는 실습이니까..)
SELECT TOP 1 [이름] FROM [사용자테이블] WHERE [부서코드] = 'D001' UNION ALL
SELECT TOP 1 [이름] FROM [사용자테이블] WHERE [부서코드] = 'D002' UNION ALL
SELECT TOP 1 [이름] FROM [사용자테이블] WHERE [부서코드] = 'D003' UNION ALL
.....
SELECT TOP 1 [이름] FROM [사용자테이블] WHERE [부서코드] = 'D012'
보통 회사의 부서가 수백/수천개가 아니니까 이런식으로 해도 되겠지만,
뭔가 좀..
SELECT
[부서].[부서코드]
,(SELECT TOP 1 [이름] FROM [사용자테이블] WHERE [부서코드] = [부서].[부서코드]) AS Name
FROM
( SELECT
DISTINCT [부서코드]
FROM
[사용자테이블] ) AS [부서]
ORDER BY
[부서].[부서코드]
원하는대로 결과가 나왔다.
혹시 지나가다 더 좋은 방법이 있으신 분들은 알려주시기 바랍니다.
'MS-SQL' 카테고리의 다른 글
Stored Procedure (0) | 2018.04.23 |
---|---|
MS SQL Server 컬럼 이름 변경 (0) | 2017.11.16 |
오픈소스 데이터베이스 관리 툴 (0) | 2017.09.17 |
LOG 파일 용량 줄이기 (0) | 2017.08.07 |
'sa' 계정으로 로그인 안됨 (0) | 2017.01.16 |
인라인 타입
<p [ngStyle]="{color: 'red', backgroundColor: 'blue'}">
예제 입니다.
</p>
메서드타입
<p [ngStyle]="{color: 'red', backgroundColor: getBackgroundColor()}">
ts 파일에서 메서드 생성
getBackgroundColor() : string {
//return "black"; //문자열 반환
return (new Date()).getSeconds() % 2 == 0 ? "green" : "lime"; // 새로고침 시점이 짝수 초일때 초록색, 아닐때 라임색
}
## 정리 필요
https://www.youtube.com/user/visualacademy/playlists
1.실습환경
1-1.윈도우10
1-2.NodeJS
1-3.NetCore2.0
1-4.Angular/CLI
NodeJS, 닷넷코어, Angular 모두 낯설다.
거기에 Angular는 CLI 로 프로젝트 생성/컴포넌트 추가등을 진행한다.
각 명령어(?)도 알아둬야 한다.
2.구성
2-1.NodeJS 와 .NetCore 는 각각 사이트에서 다운받아 다음-다음 설치 하면 된다.
2-2.npm install -g @angular/cli 명령어로 Angular CLI 를 설치하자.
(install -> i 로 alias 형태로 가능)
(--global -> -g 로 alias 형태로 가능 위는 축약형태를 사용. alias 형태 미사용시 대쉬2개)
2-3.ng new 프로젝트이름 -d
(지정된 이름으로 프로젝트를 생성하나 -d 옵션을 붙여 dry run, 즉 어떤 구조를 가지면서 생성 되는지 미리 확인 가능)
(--dry-run -> -d alias 형태로 가능)
2-4.
ng new 프로젝트이름
ng new 프로제트이름 --skip-install (인스톨을 스킵?)
npm install (node_modules 폴더의 내용을 채워줌? package.json 파일의 내용을 토대로 의존성을 가지는 파일을 다운로드?)
ng serve -o (--open)
ng generate component 컴포넌트이름 (컴포넌트를 추가)
ng g c 컴포넌트이름 (위의 alias 형태)
ng generate component 컴포넌트이름 --spec false (*.spec.ts 파일을 생성하지 않음.)(스펙 파일이 뭐하는 파일인지 아직 이해안됨.)
ng generate component 컴포넌트이름 --inline-template (*.html 파일을 생성하지 않음.)(별도의 html 템플릿을 생성하지 않고, ts 파일에 바로 html 코드를 사용하겠다 라는 의미인거 같음. 간단한 뷰의 경우 ts 파일에 포함 시키는게 편한듯)
ng generate component 컴포넌트이름 -it (위와 같은 결과. --inline-template 의 alias 형태)
ng generate component 컴포넌트이름 --inline-style (css 파일을 생성하지 않음. --inline-template 과 같은 형식인거 같음)
ng generate component 컴포넌트이름 -it --inline-style (html 파일과 css 파일을 생성하지 않음)
ng generate component 컴포넌트이름 -it -is (위와 동일한 결과를 alias 형태로)
## 정리 필요
오픈소스 데이터베이스 관리 툴
http://kimseunghyun76.tistory.com/382
원격지에 디비를 생성하고,
가벼운 디비관리 오픈소스 툴을 찾다보니 이 블로그가 나왔다.
나는 DBeaver 라는 툴을 설치해봤다.
아직은 쿼리창만 필요하니 부족함이 없다. 아직은..
'MS-SQL' 카테고리의 다른 글
MS SQL Server 컬럼 이름 변경 (0) | 2017.11.16 |
---|---|
중복제거된 목록에서 항목별 TOP 1 (?) (0) | 2017.11.08 |
LOG 파일 용량 줄이기 (0) | 2017.08.07 |
'sa' 계정으로 로그인 안됨 (0) | 2017.01.16 |
ROW ↔ COLUMN (PIVOT) - 두번째 (0) | 2016.04.21 |
ClassicASP VarType Number
ClassicASP 에서 자료 타입을 알아 볼 수 있는 함수는 VarType(변수) 이다.
결과는 숫자로 반환한다. 아래 표를 참고하자. (Value항목의 값으로 반환)
Constant | Value | Description |
---|---|---|
vbEmpty | 0 | Empty (uninitialized) |
vbNull | 1 | Null (no valid data) |
vbInteger | 2 | Integer |
vbLong | 3 | Long integer |
vbSingle | 4 | Single-precision floating-point number |
vbDouble | 5 | Double-precision floating-point number |
vbCurrency | 6 | Currency |
vbDate | 7 | Date |
vbString | 8 | String |
vbObject | 9 | Automation object |
vbError | 10 | Error |
vbBoolean | 11 | Boolean |
vbVariant | 12 | Variant (used only with arrays of Variants) |
vbDataObject | 13 | A data-access object |
vbDecimal | 14 | Decimal Value |
vbByte | 17 | Byte |
vbLongLong | 20 | LongLong integer (64 bit) |
vbArray | 8192 | Array |
참고: https://stackoverflow.com/questions/3281355/get-the-type-of-a-variable-in-vbscript