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 27640 게시물 읽기
No. 27640
쿼리문을 어떻게 해야 할까요?
작성자
초보자
작성일
2008-07-02 10:16
조회수
3,708

name        week
------      -------
홍길동         월
홍길동         수
홍길동         금
김개똥         월
김개똥         화
김개똥         수
김개똥         목
김개똥         금

위와같은 테이블이 있는데요..week가 월/수/금 을포함하는 이름을가진 사람만 select를 하고 싶습니다. 위에서 원하는 값은 '홍길동','김개똥' 입니다.

단순하게 select distinct name from table where week='월' and week='수' and week='금'

이라고 쿼리를 때리니 당연히 아무것도 안나오더라구요..^^;; 제발 도움주시면 감사하겠습니다..ㅠㅠ

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

and 대신 or 을 쓰시면 나오겠네요. ㅎㅎ

ttjm님이 2008-07-02 11:35에 작성한 댓글입니다. Edit

만약, 이명박이 월,토,일 이면 이명박도 나와버려서요..^^;

초보자님이 2008-07-02 15:12에 작성한 댓글입니다. Edit

이명박도 월요일이니까.. 당연히 나오는거 아닌가요?  뭘 말씀하시는지 잘 모르겠어요.

ttjm님이 2008-07-02 16:19에 작성한 댓글입니다. Edit

월,수,금을 가진 이름만을 select 해야 해서요..이명박의 경우 월,토,일 이라서 제외가 된다는 말입니다. or 검색을 했을때는 다 나와버리는거죠..and 연산자를 했을때는 week가 하나의 요일만 가지고 있기 때문에 만족하는 검색은 없다는...

초보자님이 2008-07-02 17:18에 작성한 댓글입니다. Edit

흠..뭐 여러가지 방법 이 있겟지만...단순히 월,수,금 을 가진 길동이와 개똥이의 이름만 구하는거라면..그룹핑해서 하면 되겟네요..


select name from 테이블명

 where `week` in ('월','수','금')

 group by name

 having count(name) = 3;


-.ㅡ 무식뽕빨하지만...뭐...


흠 그러고 보니...월,월,월 등도 검출이 되겟군요..ㅋㅋ -.ㅡ;;;

team b(teamb)님이 2008-07-02 21:28에 작성한 댓글입니다.
이 댓글은 2008-07-04 10:46에 마지막으로 수정되었습니다.

--간단히 테스트 데이터 생성
create table weekdayTest(
person int ,
weekdayname char(3)
);

insert into weekdayTest( person, weekdayname) values( 1, 'mon' ), ( 1, 'wed' ), ( 1, 'fri' ), ( 1, 'sat' );
insert into weekdayTest( person, weekdayname) values( 2, 'mon' ), ( 2, 'tue' ), ( 2, 'fri' ), ( 2, 'sat' );

--월수금을 포함하는 사람만 select
select person
from (
select person, weekdayname,
case weekdayname
when 'mon' then 1
when 'tue' then 2
when 'wed' then 4
when 'thu' then 8
when 'fri' then 16
when 'sat' then 32
when 'sun' then 64
end as convertedWeekday
from weekdayTest
) as cc
group by person
having bit_or( convertedWeekday ) & 21 = 21
;

우욱님이 2008-07-10 11:26에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27644mysql 6.0.4 설치를 한 후에.. php가 설치가 잘안되서 질문드려요..
김지명
2008-07-03
3529
27642다른테이블의 합계 구하기... [1]
김동명
2008-07-02
3787
27641데이타 옮기려고 하는데요 [1]
김영남
2008-07-02
3281
27640쿼리문을 어떻게 해야 할까요? [6]
초보자
2008-07-02
3708
27636트리거 trigger 관련되어서 질문이 있습니다.
리스군
2008-07-01
3239
27635여러대의 서버에서 하나의 DB 서버에 DB 복사하는 방법 [1]
대한의 아들
2008-07-01
3229
27633Mysql 계정및 로그인 관련문제입니다.. [1]
김윤정
2008-06-30
3545
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다