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
운영게시판
최근게시물
MySQL Q&A 29434 게시물 읽기
No. 29434
쿼리문 좀 나타나게 해주셔요 .
작성자
서지원
작성일
2009-11-28 18:14
조회수
5,802

fulltime nouse2 wheredong
화1,2 목1,2 교양과(서울) C808,C808


테이블은 이렇습니다.   


위에 뜻은  화요일 12교시가 C808에서 한다는 뜻이고요.  목요일 1.2 교시에 C808에서 강의를 한다는 뜻입니다.

     

   시간표 창을 만들어서요.   선택 창에서  컴버 박스를 통해서   화요일   1 교시나  1교시부터 2교시를 선택 했을 때  C808이 나타나고 싶은데요.



                   월    화    수    목    금     토


1                       C808

2                       C808

3

4

5

6

    

이렇게 나타내고 싶은데 쿼리문을 어떻게 해야할지 도통 모르겠습니다. 도움 좀 주실 수 없을까요?

이 글에 대한 댓글이 총 2건 있습니다.

일단 현재 테이블 형태로도 어떻게든 원하시는 바를 달성하실 수는 있습니다만,
테이블 정규화를 우선 진행하시는게 어떨까 싶습니다.

이를테면 아래와 같이 바꾸셔야겠지요.

수강기호 테이블(A)
+----------+----------+--------+
| CODE(PK) |   NAME   | REGION |
+----------+----------+--------+
|        1 | 교양과목 |  서울  |
|        2 | 교양과목 |  인천  |
...

수강시간 테이블(B)
+--------+----------+-----+-------+-----+-------+
| NO(PK) | CODE(FK) | DOW | START | END | WHERE |
+--------+----------+-----+-------+-----+-------+
|      1 |        1 |  화 |     1 |  2  |  C808 |
...

( 강의실 위치도 따로 테이블로 분리하는 것이 좋겠습니다 )


위의 테이블 구조라면, 아래의 쿼리로 특정 시간에 이미 예약된 시간표가 있는지 확인할 수 있겠습니다.

SELECT * FROM `B` WHERE DOW='화' AND ( START <= [특정교시] OR END >= [특정교시] );

박현우(lqez)님이 2009-11-30 11:50에 작성한 댓글입니다.

감사합니다. 잘 해볼게요.

서지원님이 2009-11-30 20:40에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29437특정 필드 Type이 varchar(25) 일때 [2]
초보김대리
2009-11-30
5635
29436재고관리요! [1]
야야야얌
2009-11-29
6305
29435컬럼 자료들을 하나로 합치려고 합니다 [1]
qordudwls
2009-11-28
5937
29434쿼리문 좀 나타나게 해주셔요 . [2]
서지원
2009-11-28
5802
29433C++ 에서 Mysql을 사용중..select문에서 필드명가져오기 [1]
이현
2009-11-27
7933
29427타 기종과의 데이터 공유 [2]
이창섭
2009-11-25
6257
29423mysql 4.0.24 → mysql 5.1로 업그레이드, 폴더 파일을 복사해도 될까요? [1]
조현철
2009-11-24
6415
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다