![]() |
|
|
Thread Tools |
|
#1
|
||
|
||
|
Bài toán SQL
Dear all,
mình đang nghiên cứu bên SQL server. Có vấn đề như thế này. Mình có bảng A và bảng B như hình. Muốn lấy kết quả ở bảng C nhưng đoạn code bên dưới không ra được kết quả mong muốn. Không biết như code bên dưới của mình cần sửa chổ nào để ra được kết quả ở bảng C anh em nhỉ. Mình cám ơn nhiều ![]()
|
| better.chicken |
| View Public Profile |
| Find all posts by better.chicken |
|
#2
|
||
|
||
|
Re: Bài toán SQL
Sao cai bang C bi du ra 2 row vay?
|
|
#3
|
||
|
||
|
Re: Bài toán SQL
Bảng C là tổng hợp của bảng A và B á bạn
|
| better.chicken |
| View Public Profile |
| Find all posts by better.chicken |
|
#4
|
||
|
||
|
Re: Bài toán SQL
Bạn nói kết quả không mong muốn là sao?
Thử: SELECT A.namhoc, B.cap, A.lop, B.tongsohocsinh FROM bangA A LEFT JOIN bangB B ON A.namhoc = B.namhoc WHERE A.namhoc = '2019'
__________________
W520, my best friend. |
|
#5
|
|||
|
|||
|
Re: Bài toán SQL
rồi sao biết lớp nào của cấp 2 , lớp nào của cấp 1 khi trong bảng a và b k có cột nào quy định
__________________
sáng cắp cặ[COLOR="White"]p[/COLOR] , đi chiều cắp cặ[COLOR="white"]p[/COLOR] về . riết chán quá |
|
#6
|
||
|
||
|
Re: Bài toán SQL
Select * from
(Select [Năm học], (CASE WHEN [Lớp] < 6 THEN 1 ELSE 2 END) as [Cấp], [Lớp], [Tổng số học sinh] from Bảng A Union Select [Năm học], [Cấp], [Lớp]='', [Tổng số học sinh] from Bảng B) as Bang C |
|
#7
|
|||
|
|||
|
Re: Bài toán SQL
SELECT A.namhoc, case when a.lop in (1,2,3,4) then 1 else 2 as 'CAP',a.lop, B.tongsohocsinh FROM bangA A LEFT JOIN bangB B ON A.namhoc = B.namhoc WHERE A.namhoc = '2019'
__________________
sáng cắp cặ[COLOR="White"]p[/COLOR] , đi chiều cắp cặ[COLOR="white"]p[/COLOR] về . riết chán quá |
|
#8
|
|||
|
|||
|
Re: Bài toán SQL
__________________
Khi lãnh tụ nói về tăng tương tác cho Voz Tân [QUOTE=fRzzy;156725937]tôi cần đếch, các anh dễ bị kích động bỏ mẹ, đung tí là dỗi, đụng tí là hờn, nhẹ cái là nhảy lên còn bình thường thì hổ báo vãi, nghe cho đăng ký nick mới là cuống lên đòi về nhà trốn =]][/QUOTE] |
| DaiSuThichAnMan |
| View Public Profile |
| Find all posts by DaiSuThichAnMan |
|
#9
|
||
|
||
|
Re: Bài toán SQL
thấy có vẻ hơn kỳ kỳ đấy, bạn tham khao xem, có thể mình hiểu sai ý :
sqlfiddle.com/#!18/0d601/1 Code:
SELECT nam_hoc, case when (lop < 6) then 1 else 2 END as cap, lop, tong_so FROM TableA Where nam_hoc=2019 union all SELECT nam_hoc, cap, '' as lop, tong_so FROM TableB Where nam_hoc=2019 |
|
#10
|
||
|
||
|
Re: Bài toán SQL
select
namhoc, case when cap between 1 and 5 then 1 when cap between 6 and 9 then 2 end as cap, lop, tongsohocsinh from bangA union all select namhoc, cap, null as lop, tongsohocsinh from bangB |
![]() |
|
|