hueqlhc > 05-02-13, 11:24 AM
Xuân Thanh > 05-02-13, 12:23 PM
(05-02-13, 11:24 AM)hueqlhc Đã viết: Mong các pro giúp đỡ.
Tôi có 1 table Nhankhau (trong đó có filed: Tenphuong) và 2 query Q_MT và Q_CT như file sau:
http://www.mediafire.com/?nmrz9zmx7csoxew
Vấn đề mong các bạn giải quyết giúp:
Tạo Query TN: thống kê (dùng hàm count) những đối tượng MT và CT trong các phường (hiển thị luôn các giá trị là 0 trong query này)
Chân thành cảm ơn. Mong hồi âm sớm.
hueqlhc > 05-02-13, 04:04 PM
(05-02-13, 12:23 PM)Xuân Thanh Đã viết:Thanks bạn.(05-02-13, 11:24 AM)hueqlhc Đã viết: Mong các pro giúp đỡ.
Tôi có 1 table Nhankhau (trong đó có filed: Tenphuong) và 2 query Q_MT và Q_CT như file sau:
http://www.mediafire.com/?nmrz9zmx7csoxew
Vấn đề mong các bạn giải quyết giúp:
Tạo Query TN: thống kê (dùng hàm count) những đối tượng MT và CT trong các phường (hiển thị luôn các giá trị là 0 trong query này)
Chân thành cảm ơn. Mong hồi âm sớm.
1/ CSDL chưa hợp lý. Xem lại table NhanKhau, quản lý theo khu vực hay theo phường?
2/ Khi có CSDL hợp lý thì làm query mới có hiệu quả
Thân mến
Xuân Thanh > 05-02-13, 06:35 PM
hueqlhc > 06-02-13, 11:08 AM
(05-02-13, 06:35 PM)Xuân Thanh Đã viết: Bạn nên sắp xếp lại CSDL cho hợp lý chứ với CSDL như trên, không thể tính hết được. Vì tên phường không phải là trường chính, mặt khác tên trường lại phải thông qua khu vực vì nhân khẩu quản lý theo khu vực
Thạn mến
Xuân Thanh > 06-02-13, 11:37 AM
(06-02-13, 11:08 AM)hueqlhc Đã viết: Theo bạn thì muốn tính toán được thì phải sắp xếp như thế nào.
Bạn có thể hướng dẫn mình sắp xếp lại được không?
Thanks.
hueqlhc > 07-02-13, 11:27 AM
Xuân Thanh > 07-02-13, 12:23 PM
SELECT Nhankhau.Maphuong, Nhankhau.Doituong, Count(NZ([Manhankhau])) AS TongCT
FROM Doituong INNER JOIN Nhankhau ON Doituong.Doituong = Nhankhau.Doituong
GROUP BY Nhankhau.Maphuong, Nhankhau.Doituong
HAVING (((Nhankhau.Doituong)="CT"));
SELECT Nhankhau.Maphuong, Nhankhau.Doituong, Count(NZ([Manhankhau])) AS TongMT
FROM Doituong INNER JOIN Nhankhau ON Doituong.Doituong = Nhankhau.Doituong
GROUP BY Nhankhau.Maphuong, Nhankhau.Doituong
HAVING (((Nhankhau.Doituong)="MT"));
SELECT Phuong.Maphuong, Phuong.Tenphuong, Sum(NZ([TongCT])) AS CT, Sum(NZ([TongMT])) AS MT
FROM (Phuong LEFT JOIN qryCT ON Phuong.Maphuong = qryCT.Maphuong) LEFT JOIN qryMT ON Phuong.Maphuong = qryMT.Maphuong
GROUP BY Phuong.Maphuong, Phuong.Tenphuong;
hueqlhc > 07-02-13, 03:04 PM
(07-02-13, 12:23 PM)Xuân Thanh Đã viết: 1/ Tạo query qryCT
Mã PHP:SELECT Nhankhau.Maphuong, Nhankhau.Doituong, Count(NZ([Manhankhau])) AS TongCT
FROM Doituong INNER JOIN Nhankhau ON Doituong.Doituong = Nhankhau.Doituong
GROUP BY Nhankhau.Maphuong, Nhankhau.Doituong
HAVING (((Nhankhau.Doituong)="CT"));
2/ Tạo query qryMT
Mã PHP:SELECT Nhankhau.Maphuong, Nhankhau.Doituong, Count(NZ([Manhankhau])) AS TongMT
FROM Doituong INNER JOIN Nhankhau ON Doituong.Doituong = Nhankhau.Doituong
GROUP BY Nhankhau.Maphuong, Nhankhau.Doituong
HAVING (((Nhankhau.Doituong)="MT"));
3/ Tạo query qryChung
Mã PHP:SELECT Phuong.Maphuong, Phuong.Tenphuong, Sum(NZ([TongCT])) AS CT, Sum(NZ([TongMT])) AS MT
FROM (Phuong LEFT JOIN qryCT ON Phuong.Maphuong = qryCT.Maphuong) LEFT JOIN qryMT ON Phuong.Maphuong = qryMT.Maphuong
GROUP BY Phuong.Maphuong, Phuong.Tenphuong;