database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 6718 게시물 읽기
No. 6718
중복날짜 제거후 결과 확인??
작성자
아이고헬프미
작성일
2013-08-29 13:21
조회수
7,777

 

 

 

회원
Table1
이름        회원넘버   등등.....
홍길동    1234
임꺽정    2354
슈퍼맨    4758
 
로그
Table2
회원넘버    접속시간                                 금액 
1234            2013-08-10 10:00:00                 3000
1234            2013-08-05 10:00:00                 4000
1234            2013-08-29 10:00:00                 5000
2354            2013-08-21 10:00:00                 2000
2354            2013-08-22 10:00:00                 1000
2354            2013-08-27 10:00:00                 3000
 
 
결과를 
최종접속한시간 값만 조인해서 결과를 가져오고 싶습니다.
 
결과
이름    회원넘버  금액     접속시간
홍길동  1234     5000       2013-08-29 10:00:00
임꺽정  2354     3000       2013-08-27 10:00:00 
 
어떻게 해야할까요? 조인문을 사용해봐
이 글에 대한 댓글이 총 4건 있습니다.

SELECT Table1.이름, Table1.회원넘버, Table2.금액, T2.막접

FROM
(
SELECT 회원넘버, MAX( 접속시간 ) AS 막접
FROM Table2
GROUP BY 회원넘버
) AS T2
INNER JOIN Table2
ON T2.회원넘버 = Table2.회원넘버 AND T2.막접 = Table2.회원
INNER JOIN Table1
ON T2.회원넘버 = Table1.회원넘버
;
 
우욱님이 2013-08-29 14:58에 작성한 댓글입니다. Edit
CREATE TABLE "TestTable1" (
"MemNo" INT NOT NULL,
"MemName" VARCHAR(20) NOT NULL,
PRIMARY KEY ("MemNo")
);
 
CREATE TABLE "TestTable2" (
"MemNo" INT NOT NULL,
"RegDate" DATETIME NOT NULL,
"eMoney" INT NOT NULL,
);
 
INSERT INTO TestTable1 ("MemNo", "MemName") VALUES (1000, '홍길동');
INSERT INTO TestTable1 ("MemNo", "MemName") VALUES (2000, '고길동');
INSERT INTO TestTable1 ("MemNo", "MemName") VALUES (3000, '아이고');
 
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (1000, '2013-08-26 18:19:09', 1000);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (1000, '2013-08-27 18:19:09', 2500);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (1000, '2013-08-28 18:19:09', 2300);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (1000, '2013-08-29 18:19:09', 2000);
 
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (2000, '2013-08-26 18:19:09', 1000);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (2000, '2013-08-27 18:19:09', 1500);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (2000, '2013-08-28 18:19:09', 2300);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (2000, '2013-08-29 18:20:09', 3000);
 
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (3000, '2013-08-26 18:19:09', 1000);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (3000, '2013-08-27 18:19:09', 1500);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (3000, '2013-08-28 18:19:09', 2300);
INSERT INTO TestTable2 ("MemNo", "RegDate", "eMoney") VALUES (3000, '2013-08-29 18:29:09', 5000);
 
 
SELECT TestTable1.MemName, TestTable1.MemNo, TestTable2.eMoney, T2.EndDate
FROM
(
SELECT MemNo, MAX( RegDate ) AS EndDate
FROM TestTable2
GROUP BY MemNo
) AS T2
INNER JOIN TestTable2
ON T2.MemNo = TestTable2.MemNo AND T2.EndDate = TestTable2.MemNo
INNER JOIN TestTable1
ON T2.MemNo = TestTable1.MemNo
;
 
위와 같이 하면 검색값이 하나도 안나오네요 ㅜㅜ;
 
결과는 이렇게 나오게 할려고 하는데요..
MemName MemNo eMoney EndDate
홍길동  1000  2000   2013-08-29 18:19:09
고길동  2000  3000   2013-08-29 18:20:09 
아이고  3000  5000   2013-08-29 18:29:09  
아이고머리야님이 2013-08-29 18:33에 작성한 댓글입니다. Edit

SELECT TestTable1.MemName, TestTable1.MemNo, TestTable2.eMoney, T2.EndDate

FROM
(
SELECT MemNo, MAX( RegDate ) AS EndDate
FROM TestTable2
GROUP BY MemNo
) AS T2
INNER JOIN TestTable2
ON T2.MemNo = TestTable2.MemNo AND T2.EndDate = TestTable2.RegDate
INNER JOIN TestTable1
ON T2.MemNo = TestTable1.MemNo
;
 
우욱님이 2013-08-30 09:06에 작성한 댓글입니다. Edit

 정말 감사합니다.

문제 해결되었습니다.

^^

즐거운 하루 되십시오.

감사합니다님이 2013-08-30 09:50에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6721[질문] 인덱스 손상 관련 문의 [1]
토깽이아빠
2013-09-02
8286
6720MSSQL 특정 계정에 대한 접속 허용부분 [2]
궁금이
2013-09-02
8183
6719음수 계산. [3]
구글어스
2013-08-29
7952
6718중복날짜 제거후 결과 확인?? [4]
아이고헬프미
2013-08-29
7777
6717다른PC에서 managemetn studio 조회 [1]
초보
2013-08-29
7053
6716SQL 서버에서 날짜 관련 [1]
초보
2013-08-28
7901
6715mssql 에서 mysql 형식의 set 자료형을 쓸 수가 있나요? [1]
채다현
2013-08-26
7898
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.056초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다