Giải bài tập

Gửi bài mới   Trả lời chủ đề này

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 : 20
Join date : 17/11/2012
Age : 24

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 : 20
Join date : 17/11/2012
Age : 24

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 : 20
Join date : 17/11/2012
Age : 24

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 : 20
Join date : 17/11/2012
Age : 24

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 : 20
Join date : 17/11/2012
Age : 24

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 : 20
Join date : 17/11/2012
Age : 24

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 12:56 am


Sponsored content


Về Đầu Trang Go down

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


Gửi bài mới   Trả lời chủ đề này
 
Permissions in this forum:
Bạn được quyền trả lời bài viết