em hỏi về left join trong tình huống này

  • Thread starter muhiepsy
  • Ngày gửi
M

muhiepsy

Guest
26/2/09
3
0
0
44
hcm
table lệnh
id,soluong
1,200
2,400
3,500

table lệnhđượckhớp
sub_id,soluongkhop,id
1,200,2
2,200,2
3,200,3


left join cho ra:
id - soluong - soluongduockhop
1 - 200 - null
2 - 400 - 200
2 - 400 - 200
3 - 500 - 200


em muốn thêm 1 cột : số còn lại chưa khớp và cột trạng thái: lệnh đã khớp hết, lệnh chưa khớp, đã khớp 1 phần thì làm thé nào

cam on da doc qua :wall:
 
Khóa học Quản trị dòng tiền
M

muhiepsy

Guest
26/2/09
3
0
0
44
hcm
em đã làm được rồi, dù sao cũng cảm ơn các anh chị ghé qua

SELECT B.ID,SL,GIA,
CASE SL-(SELECT ISNULL(SUM( SLK ),0) FROM LENH_KHOP WHERE ID=B.ID )
WHEN 0 THEN 'KHOP HET'
WHEN SL THEN 'CHUA KHOP'
ELSE '1 PHAN'
END AS [TRANG THAI]
,ISNULL(SLK,0) AS [SOLUONGKHOP],ISNULL(GIAKHOP,0) AS [GIAKHOP]
FROM LENH B LEFT JOIN LENH_KHOP A
ON B.ID=A.ID
 
P

ptm0412

Sơ cấp
7/10/08
21
0
1
64
TP HCM
SELECT Lenh.id, Lenh.soluong, Sum(Khop.Slkhop) AS SumKhop, [soluong]-IIf([SumKhop]>0,[SumKhop],0) AS Ton, IIf([Ton]=0,"Hết",IIf([ton]=[soluong],"Chưa","Khớp 1 phần")) AS TThai
FROM Lenh LEFT JOIN Khop ON Lenh.id = Khop.ID
GROUP BY Lenh.id, Lenh.soluong;

Chưa được quyền gởi file đính kèm!!!
 
Sửa lần cuối:

Xem nhiều