Giải bài tập

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Giải bài tập

Bài gửi  Admin on Mon Nov 19, 2012 4:30 pm

Bài tập chương 5
[You must be registered and logged in to see this image.]
----------------------------------------
Câu 1 - Đề bài
----------------------------------------
[You must be registered and logged in to see this image.]
----------------------------------------
Câu 1 - Đề và Kết quả
----------------------------------------
[You must be registered and logged in to see this image.]
-------------------------------------------------------------
Code bài giải
(dùng Microsoft SQL Server Management Studio Express bản 2005)
-------------------------------------------------------------
Code:

/*---------------------------------------BAI1----------------------------------------*/
/*Cau1*/
select ctr.tenct TENCONGTRINH,ctr.diachict DIACHI
from chuthau cth,congtrinh ctr
where
   cth.msct=ctr.msct and
   cth.tenthau='Cong ty xay dung so 6'
/*Cau2*/
select distinct cth.tenthau TENTHAU,cth.diachithau DIACHITHAU
/*su dung distinct de trang bi trung ket qua*/
from kientrucsu kts,thietke tk,congtrinh ctr,chuthau cth
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.msct=cth.msct and
   kts.hotenkts='Le Kim Dung'
/*Cau3*/
select kts.noitn NOITOTNGHIEP
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.tenct='Khach san quoc te' and
   ctr.tinhthanh='Can Tho'
/*co the khong can dung ctr.tinhthanh='Can Tho'*/
/*Cau4*/
select cn.hotencn HOTEN,cn.namsinhcn NAMSINH,cn.namvaon NAMVAONGHE
from congnhan cn,thamgia tg,congtrinh ctr,chuthau cth
where
   cn.mscn=tg.mscn and
   tg.sttct=ctr.sttct and
   ctr.msct=cth.msct and
   (cn.chuyenmon='Han' or cn.chuyenmon='Dien') and
   cth.tenthau='Le Van Son'
/*Cau5*/
select distinct cn.hotencn HOTEN
from congnhan cn,thamgia tg,congtrinh ctr
where
   cn.mscn=tg.mscn and
   tg.sttct=ctr.sttct and
   ctr.tenct='Khach san quoc te' and
   ctr.tinhthanh='Can Tho' and
   tg.ngaytg>='Dec 15 94' and DateAdd(dd,songay,ngaytg)<='Dec 31 94'
/*Cau6*/
select distinct ctr.tenct TENCONGTRINH,ctr.diachict DIACHI
from congnhan cn,thamgia tg,congtrinh ctr
where
   cn.mscn=tg.mscn and
   tg.sttct=ctr.sttct and
   cn.hotencn='Nguyen Hong Van' and
   tg.ngaytg<='Dec 18 94' and DateAdd(dd,songay,ngaytg)>='Dec 18 94'
/*Cau7*/
select kts.hotenkts HOTEN,kts.namskts NAMSINH
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.kinhphi>=400 and
   kts.noitn='tp hcm'
/*Cau8*/
select cn.hotencn HOTEN,cn.chuyenmon CHUYENMON
from congnhan cn,thamgia tg,congtrinh ctr,kientrucsu kts,thietke tk
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.sttct=tg.sttct and
   cn.mscn=tg.mscn and
   kts.hotenkts='Nguyen Anh Thu'
/*Cau9*/
select chn.tenchu TENCHUNHAN
from chunhan chn,congtrinh ctr,chuthau cth,kientrucsu kts,thietke tk
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.msct=cth.msct and
   chn.msch=ctr.msch and
   kts.hotenkts='Nguyen Anh Thu' and
   cth.tenthau='Phong dich vu so xay dung'
/*Cau10*/
select ctr.tenct TENCONGTRINH
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   kts.noitn='tp hcm'

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Câu 2

Bài gửi  Admin on Sat Nov 24, 2012 2:04 pm

Đề và kết quả:
[You must be registered and logged in to see this image.]
-------------------------------------------------------------
Code bài giải
(dùng Microsoft SQL Server Management Studio Express bản 2005)
-------------------------------------------------------------
Code:

/*---------------------------------------BAI2----------------------------------------*/
/*Cau1*/
select kts.hotenkts
from kientrucsu kts,thietke tk,congtrinh ctr,chuthau cth
where   kts.mskts=tk.mskts and
      tk.sttct=ctr.sttct and
      ctr.msct=cth.msct and
      cth.tenthau='Phong dich vu So xay dung' and
      cth.tenthau='Le Van Son'
/*Cau2*/
select ctr.tenct
from congtrinh ctr
where   ctr.kinhphi=
         (select max(kinhphi)
         from congtrinh)
/*Cau3*/
select distinct cn.hotencn
from congnhan cn,thamgia tg,congtrinh ctr
where
   cn.mscn=tg.mscn and
   tg.sttct=ctr.sttct and
   ctr.tinhthanh='Can Tho' and
   cn.mscn NOT IN(select cn.mscn
              from congnhan cn,thamgia tg,congtrinh ctr
              where
                  cn.mscn=tg.mscn and
                  tg.sttct=ctr.sttct and
                  ctr.tinhthanh='Vinh Long')
/*Cau8*/
select distinct cth1.tenthau,cth2.tenthau
from congtrinh ctr1,congtrinh ctr2,chuthau cth1,chuthau cth2
where   ctr1.msct=cth1.msct and
      ctr2.msct=cth2.msct and
      ctr1.tinhthanh=ctr2.tinhthanh and
      cth1.msct<>cth2.msct and
      cth1.msct<cth2.msct
/*Cau9*/
select cn1.hotencn,cn2.hotencn
from congnhan cn1,congnhan cn2,thamgia tg1,thamgia tg2
where   cn1.mscn=tg1.mscn and
      cn2.mscn=tg2.mscn and
      tg1.sttct=tg2.sttct and
      cn1.mscn<cn2.mscn
group by cn1.hotencn,cn2.hotencn having count(*)>=2
/*Cau10*/
select distinct cn.hotencn
from congnhan cn,thamgia tg,congtrinh ctr
where   cn.mscn=tg.mscn and
      tg.sttct=ctr.sttct and
      ctr.kinhphi>
         (select avg(kinhphi)
         from congtrinh)


Được sửa bởi Admin ngày Tue Nov 27, 2012 1:05 am; sửa lần 3.

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Câu 3

Bài gửi  Admin on Sat Nov 24, 2012 2:04 pm

Đề,đáp án và code bài giải câu 3

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Câu 4 [BỔ SUNG]

Bài gửi  Admin on Sat Nov 24, 2012 2:04 pm

----------------------------------------
Câu 4 - Đề và Kết quả
----------------------------------------
Phần 1:
[You must be registered and logged in to see this image.]

Phần 2:
[You must be registered and logged in to see this image.]
-------------------------------------------------------------
Code bài giải
(dùng Microsoft SQL Server Management Studio Express bản 2005)
-------------------------------------------------------------
Code:

/*-----------------------------BAI4 (BOSUNG)-----------------------------*/
/*Cau1*/
Hãy cho biết họ tên và nơi tốt nghiệp của các KTS thiết kế công trình ở tỉnh thành giống với tỉnh thành
mà ở đó có công trình do Phòng dịch vụ sở xây dựng làm chủ thầu.

select kts.hotenkts HOTENKTS, kts.noitn NOITOTNGHIEP
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.tinhthanh IN(select ctr.tinhthanh
                from chuthau cth,congtrinh ctr
                where cth.msct=ctr.msct and cth.tenthau='Phong dich vu So Xay Dung')

/*Cau2*/
Hãy cho biết STT và kinh phí của các công trình do KTS lớn tuổi nhất thiết kế.

select ctr.sttct STTCT,ctr.kinhphi KINHPHI
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   kts.namskts=(select min (namskts)
               from kientrucsu)

/*Cau3*/
Hãy cho biết mã số và họ tên KTS thiết kế các công trình mà chủ nhân ở số 101 Hai Bà Trưng.

select kts.mskts MSKTS,kts.hotenkts HOTENKTS
from kientrucsu kts,thietke tk,congtrinh ctr,chunhan cnh
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.msch=cnh.msch and
   cnh.diachichu='101 Hai Ba Trung'

/*Cau4*/
Hãy cho biết mã số và họ tên KTS thiết kế các công trình mà chủ thầu có ít nhất 3 công trình.

select ctr.msct MASOCHUTHAU,count (msct) SOCONGTRINH into #tam44
from congtrinh ctr
group by msct

select distinct kts.mskts MSKTS,kts.hotenkts HOTENKTS
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   ctr.msct IN (select a.masochuthau
             from #tam44 a
             where a.socongtrinh>=3)

drop table #tam44

/*Cau5*/
Hãy cho biết mã số và họ tên công nhân tham gia công trình ở ít nhất 2 tỉnh thành.

select distinct tg.mscn,ctr.tinhthanh into #tam45a
from thamgia tg,congtrinh ctr
where
   tg.sttct=ctr.sttct
order by tg.mscn

select a.mscn,count (mscn) SOTINHTHANH into #tam45b
from #tam45a a
group by a.mscn

select distinct cn.mscn MASOCN,cn.hotencn HOTENCN
from congnhan cn,thamgia tg
where
   cn.mscn=tg.mscn and
   tg.mscn IN (select b.mscn
            from #tam45b b
            where b.sotinhthanh>=2)

drop table #tam45a
drop table #tam45b

/*Cau6*/
Hãy cho biết tỉnh thành mà số công nhân tham gia công trình ở đó là nhiều nhất.

select ctr.tinhthanh,count (tg.mscn) SOCONGNHAN into #tam46
from congtrinh ctr,thamgia tg
where
   ctr.sttct=tg.sttct
group by ctr.tinhthanh

select a.tinhthanh TINHTHANH
from #tam46 a
where
   a.socongnhan=(select max (socongnhan) from #tam46)

drop table #tam46

/*Cau7*/
Hãy cho biết tỉnh thành mà KTS Lê Kim Dung có thiết kế công trình ở đó với thù lao thấp nhất.

select ctr.tinhthanh,tk.thulao into #tam47
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   kts.hotenkts='Le Kim Dung'

select a.tinhthanh TINHTHANH
from #tam47 a
where a.thulao=(select min (thulao)
            from #tam47)
drop table #tam47

/*Cau8*/
Hãy cho biết cặp [họ tên KTS và họ tên công nhân] mà [KTS thiết kế và công nhân tham gia] cùng 1 công trình.

select distinct kts.hotenkts HOTENKTS,cn.hotencn HOTENCN
from kientrucsu kts,thietke tk,congnhan cn,thamgia tg
where
   kts.mskts=tk.mskts and
   cn.mscn=tg.mscn and
   tk.sttct=tg.sttct
   
/*Cau9*/
Hãy cho biết cặp [họ tên KTS và họ tên công nhân] mà [KTS thiết kế và công nhân tham gia] cùng 1 tỉnh thành duy nhất.

select distinct kts.hotenkts HOTENKTS,cn.hotencn HOTENCN,ctr1.tinhthanh into #tam49
from kientrucsu kts,thietke tk,congtrinh ctr1,congnhan cn,thamgia tg,congtrinh ctr2
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr1.sttct and
   cn.mscn=tg.mscn and
   tg.sttct=ctr2.sttct and
   ctr1.tinhthanh=ctr2.tinhthanh

select hotenkts HOTENKTS,hotencn HOTENCN
from #tam49 a
group by hotenkts,hotencn having count (*) < 2
order by hotenkts
drop table #tam49

/*Cau10*/
Hãy cho biết cặp họ tên KTS và tên công trình mà KTS thiết kế công trình đó có thù lao dưới 5% kinh phí

select kts.hotenkts HOTENKTS,ctr.tenct TENCONGTRINH
from kientrucsu kts,thietke tk,congtrinh ctr
where
   kts.mskts=tk.mskts and
   tk.sttct=ctr.sttct and
   tk.thulao<ctr.kinhphi*5/100



Được sửa bởi Admin ngày Mon Nov 26, 2012 6:31 pm; sửa lần 3.

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Bình luận bài 9 của câu 4

Bài gửi  Admin on Sat Nov 24, 2012 2:15 pm

Mặc dù theo đáp án của thầy, bài 9 câu 4 có kết quả là 12 cặp nhưng theo quan điểm cá nhân của mình thì đáp án đúng là 19 cặp!

Nếu theo đáp án của thầy,12 cặp đó là:
[You must be registered and logged in to see this image.]

Theo cách làm của mình,19 cặp đó là:
[You must be registered and logged in to see this image.]

Đề bài của thầy cho:
Hãy cho biết cặp [họ tên KTS và họ tên công nhân] mà [KTS thiết kế và công nhân tham gia] cùng 1 tỉnh thành duy nhất.

*Cùng 1 tỉnh thành duy nhất, ví dụ như ta có 2 cặp:
1) Le Kim Dung - Vo Van Chin,cùng tỉnh: Can Tho
2) Le Kim Dung - Vo Van Chin,cùng tỉnh: Ha Noi
=> Ta sẽ loại cả 2 cặp này (vì làm cùng với nhau 2 tỉnh)

12 cặp của thầy còn thiếu 7 cặp nữa đó là những cặp:
1)Le Kim Dung-Le Manh Quoc: Can Tho
2)Le Kim Dung-Le Quyet Thang: Can Tho
3)Le Thanh Tung-Le Quyet Thang: Can Tho
4)Nguyen Song Do Quyen-Le Manh Quoc: Can Tho
5)Nguyen Song Do Quyen-Nguyen Hong Van: Can Tho
6)Nguyen Song Do Quyen-Nguyen Thi Suu: Can Tho
7)Truong Minh Thai-Le Quyen Thang: Can Tho

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

So sánh

Bài gửi  Admin on Mon Nov 26, 2012 8:18 pm

So sánh bảng 2 cột: họ tên kiến trúc sư_vs_tên chủ thầu

[You must be registered and logged in to see this image.]

Admin
Admin

Tổng số bài gửi : 217
Reputation : 21
Join date : 17/11/2012
Age : 25

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Re: Giải bài tập

Bài gửi  Sponsored content Today at 7:14 pm


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết