테이블 구조와 데이터 를 올려드릴테니 조인 질의어좀 2~나 3개 답변해드리면 바로 내공 100
찍어드려요 급해용~
CREATE TABLE 의사
(관리번호 INTEGER NOT NULL
,성명 VARCHAR(20)
,나이 INTEGER
,주소 VARCHAR(30)
,주민등록번호 VARCHAR(30)
,연락처 VARCHAR(30)
,PRIMARY KEY(관리번호)
);
CREATE TABLE 고객
(고객번호 INTEGER NOT NULL
,성명 VARCHAR(30)
,나이 INTEGER
,주소 VARCHAR(100)
,주민등록번호 VARCHAR(30)
,연락처 VARCHAR(30)
,관리번호 INTEGER NOT NULL
,PRIMARY KEY(고객번호)
,FOREIGN KEY(관리번호) REFERENCES 의사(관리번호)
);
CREATE TABLE 진료
(진료명 VARCHAR(20) NOT NULL
,담당자 VARCHAR(20)
,예약시간 DATETIME
,고객번호 INTEGER NOT NULL
,관리번호 INTEGER NOT NULL
,PRIMARY KEY(진료명, 고객번호, 관리번호)
,FOREIGN KEY(고객번호) REFERENCES 고객(고객번호)
,FOREIGN KEY(관리번호) REFERENCES 의사(관리번호)
);
----------------------------------------------------------------------------------------
USE Clinic;
-- 의사 데이터 삽입
INSERT INTO 의사 VALUES (11,'김의사',30,'대전 서구','111111-1111111','042-111-1111');
INSERT INTO 의사 VALUES (22,'박의사',28,'대전 서구','222222-2222222','042-222-2222');
INSERT INTO 의사 VALUES (33,'최의사',40,'대전 동구','333333-3333333','042-333-3333');
INSERT INTO 의사 VALUES (44,'강의사',43,'대전 서구','444444-4444444','042-444-4444');
INSERT INTO 의사 VALUES (55,'장의사',37,'대전 중구','555555-5555555','042-555-5555');
INSERT INTO 의사 VALUES (66,'주의사',33,'대전 중구','666666-6666666','042-666-6666');
INSERT INTO 의사 VALUES (77,'엄의사',45,'대전 동구','777777-7777777','042-777-7777');
INSERT INTO 의사 VALUES (88,'개의사',45,'대전 동구','888888-8888888','042-888-8888');
INSERT INTO 의사 VALUES (99,'다의사',45,'대전 서구','999999-9999999','042-999-9999');
INSERT INTO 의사 VALUES (101,'정의사',45,'대전 중구','101010-1010101','042-101-1010');
-- 고객 데이터 삽입
INSERT INTO 고객 VALUES (1,'허영무',22,'포항','123456-7894561','042-111-2222',11);
INSERT INTO 고객 VALUES (2,'배윤환',23,'대구','456123-7418523','042-888-5555',22);
INSERT INTO 고객 VALUES (3,'김웅빈',24,'서울','159624-7514525','042-999-4444',33);
INSERT INTO 고객 VALUES (4,'엄경식',24,'부산','176324-8554628','042-877-6654',44);
INSERT INTO 고객 VALUES (5,'최병문',25,'울산','965475-4511388','042-753-1196',55);
INSERT INTO 고객 VALUES (6,'장근배',23,'대전','731854-1834972','042-119-4568',66);
INSERT INTO 고객 VALUES (7,'김상수',25,'충북','445126-6300245','042-551-0249',77);
INSERT INTO 고객 VALUES (8,'김기봉',30,'충남','881250-7041605','042-450-3002',88);
INSERT INTO 고객 VALUES (9,'최현호',30,'진도','994512-7531594','042-611-1556',99);
INSERT INTO 고객 VALUES (10,'김병준',22,'구미','943820-4187965','042-412-4775',101);
-- 진료 데이터 삽입
INSERT INTO 진료 VALUES ('암','김의사','2010-11-29',1,11);
INSERT INTO 진료 VALUES ('감기','박의사','2010-11-29',2,22);
INSERT INTO 진료 VALUES ('폐렴','최의사','2010-11-30',3,33);
INSERT INTO 진료 VALUES ('백혈병','강의사','2010-10-20',4,44);
INSERT INTO 진료 VALUES ('간암','장의사','2010-10-20',5,55);
INSERT INTO 진료 VALUES ('암','주의사','2010-11-25',6,66);
INSERT INTO 진료 VALUES ('감기','엄의사','2009-10-21',7,77);
INSERT INTO 진료 VALUES ('폐렴','개의사','2009-09-15',8,88);
INSERT INTO 진료 VALUES ('폐렴','다의사','2009-10-15',9,99);
INSERT INTO 진료 VALUES ('간암','정의사','2008-08-20',10,101);
부탁드립니다~
답변자님,
정보를 공유해 주세요.
/*
일단 그냥 두개 만들어 봤어요..
도움이 되길 바래요~! ^^*
*/
-- 의사별관리환자수1
select 의사.관리번호 as 의사번호
, 의사.성명 as 의사이름
, COUNT(*) as 환자수
from 의사 inner join 진료 on 의사.관리번호=진료.관리번호
group by 의사.관리번호,의사.성명
order by 의사.성명
-- 의사가진료하는환자이름과진료명,예약시간출력 (의사이름,환자이름,진료명,예약시간)
select 의사.성명 as 의사이름
, 고객.성명 as 환자이름
, 진료.진료명 as 진료명
, 진료.예약시간 as 예약시간
from 의사 inner join 진료 on 의사.관리번호=진료.관리번호
inner join 고객 on 진료.고객번호=고객.고객번호
order by 의사.성명
2010.12.03.
-
채택
질문자가 채택한 답변입니다.
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.