 |
|
ช่วยแก้ไขโค้ดหน่อนครับ ติดตรง subquery มันรีเทินมาเกิน 1 ค่า |
|
 |
|
|
 |
 |
|
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;
อันนี้มันคิวรี่แล้วมันบอกว่า
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เงื่อนไขครับ
อันนี้คือตัวอย่างที่ถูกต้อง

ช่วยแก้ด้วยนะครับ
ปล.
อันนี้คือโจทย์ที่ผมต้องทำ ผมทำในเอกเซสเป็น 2 คิวรี่แล้วเอาตารางมารวมในเอกเซลได้แบบนี้ครับ

ช่วยด้วยนะครับ
Tag : Ms SQL Server 2012
|
|
 |
 |
 |
 |
Date :
2015-06-17 14:41:52 |
By :
nongaid |
View :
2010 |
Reply :
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;
ผิดที่สเต็ปไหนลองไล่โค้ดดูครับ (คำตอบอยู่แค่ปลายจมูกครับ พอหาเจอแล้วจะร้องอ๋อเลย)
|
 |
 |
 |
 |
Date :
2015-06-17 23:05:15 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|