Declare @TotalCount int
set @TotalCount =
(select sum(countnode) from
(
SELECT dslam.RO_MDF, count(id) AS countnode
FROM dslam WHERE YEAR(EQUP_INSERVICE) < '2015'
GROUP BY dslam.RO_MDF
) AS a
GROUP BY RO_MDF
);
select RO_MDF, @TotalCount
FROM dslam
group by RO_MDF
order by RO_MDF desc;
อันนี้มันคิวรี่แล้วมันบอกว่า
Quote:
Msg 512, Level 16, State 1, Line 2
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
(13 row(s) affected)
ปล.อันนี้ใน sql server นะครับ
แต่ในแอกเซสผมเขียนโค้ดทื่อๆ มันออกตามผลลัพธ์ที่ต้องการครับ แต่ว่าเงื่อนไขมันมีกว่า1เงื่อนไขครับ
อันนี้คือตัวอย่างที่ถูกต้อง
ป่านนี้คงได้แล้วมั้ง
ถ้าคิวรี่ไม่ถูกต้องแล้วเราไม่เข้าใจว่าผิดพลาดตรงไหน ลองตรวจสอบไปที่ละขั้นตอนโดยเริ่มจาก sub query ที่อยู่ด้านในสุดนะครับ
ตรวจสอบตัวนี้ Code (SQL)
SELECT dslam.RO_MDF, count(id) AS countnode
FROM dslam WHERE YEAR(EQUP_INSERVICE) < '2015'
GROUP BY dslam.RO_MDF
แล้วก็ตัวนี้ Code (SQL)
select sum(countnode)
from
(
SELECT dslam.RO_MDF, count(id) AS countnode
FROM dslam WHERE YEAR(EQUP_INSERVICE) < '2015'
GROUP BY dslam.RO_MDF
) AS a
GROUP BY RO_MDF
แล้วก็ตัวนี้ Code (SQL)
Declare @TotalCount int
set @TotalCount =
(select sum(countnode) from
(
SELECT dslam.RO_MDF, count(id) AS countnode
FROM dslam WHERE YEAR(EQUP_INSERVICE) < '2015'
GROUP BY dslam.RO_MDF
) AS a
GROUP BY RO_MDF
);
select RO_MDF, @TotalCount
FROM dslam
group by RO_MDF
order by RO_MDF desc;