SELECT SUM(b.iMoney) AS IMONEY
FROM SaleBillVouch AS a RIGHT OUTER JOIN
SaleBillVouchs AS b ON a.SBVID = b.SBVID
WHERE (a.dDate BETWEEN '$startdate' AND '$enddate')
AND b.cInvCode = '$id'"
ที่ตาราง SaleBillVouch นะครับ มันมี Table "dDate" อยู่ครับ ผมอยากให้มัน GROUP BY month ตามที่ BETWEEN กำหนด ครับ
และ อยากให้ผล SUM "IMONEY" SUM ตาม GROUP ด้วยนะครับ พี่ๆ ช่วย คิดให้ที นะครับ....สาธุ
SELECT SUM(b.iMoney) AS IMONEY
FROM SaleBillVouch AS a right OUTER JOIN
SaleBillVouchs AS b ON a.SBVID = b.SBVID
WHERE (a.dDate BETWEEN '$startdate' AND '$enddate')
AND b.cInvCode = '$id'"
group by date_format(a.dDate,'%m')
SELECT SUM(b.iMoney) AS IMONEY
FROM SaleBillVouch AS a RIGHT OUTER JOIN
SaleBillVouchs AS b ON a.SBVID = b.SBVID
WHERE (a.dDate BETWEEN '$startdate' AND '$enddate')
AND b.cInvCode = '$id'"
GROUP BY DATE_FORMAT(a.dDate,'%m')
ขอบคุณทั้งสองท่านครับได้แล้วครับ เหลือตรง AS อีกนิดหน่อยครับ
รายละเอียดของการตอบ ::
SELECT SUM(b.iMoney) AS IMONEY,CONVERT(varchar(10), (a.dDate), 101) AS IMONTH
FROM SaleBillVouch AS a RIGHT OUTER JOIN
SaleBillVouchs AS b ON a.SBVID = b.SBVID
WHERE (a.dDate BETWEEN '$startdate' AND '$enddate')
AND b.cInvCode = '$id'
GROUP BY CONVERT(varchar(10), a.dDate, 101)
ผมเพิ่ม CONVERT(char(10), (a.dDate), 101) AS IMONTH
คือยังไงครับต้องการ select CONVERT(char(10), (a.dDate), 101) AS IMONTH ออกมาด้วยหรืเปล่า
SELECT SUM(b.iMoney) AS IMONEY,CONVERT(varchar(10), a.dDate, 101) AS IMONTH
หรือ(ผมไม่รู้ว่า sql server มันมี MONTH() ไหมนะถ้ามีก็ จะได้ง่ายใช้ )
SELECT SUM(b.iMoney) AS IMONEY,MONTH(a.dDate) AS IMONTH
อันนี้ผมไปหามาน่าจะใช้ได้กับ sql server ตามที่เว็บบอกนะ จะได้ง่ายขึ้นครับ
SQL Server :: Date Function :: DAY ( date )
syntax:DAY ( date )
content:ใช้คืนค่า วันที่ ของ date ที่กำหนด
example:SELECT DAY(createdate) FROM orders
**************************************************************
SQL Server :: Date Function :: MONTH ( date )
syntax:MONTH ( date )
content:ใช้คืนค่า เดือนที่ ของ date ที่กำหนด
example:SELECT MONTH(createdate) FROM orders
***************************************************************
SQL Server :: Date Function :: YEAR ( date )
syntax:YEAR ( date )
content:ใช้คืนค่า ปีที่ ของ date ที่กำหนด
example:SELECT YEAR(createdate) FROM orders
"SELECT SUM(b.iMoney) AS IMONEY,
SUM(b.iQuantity) AS IQTY,
COUNT(*) as Imonths,
DATEADD(month, DATEDIFF(month, 0, a.dDate),103)AS Imonths
FROM SaleBillVouch AS a RIGHT OUTER JOIN
SaleBillVouchs AS b ON a.SBVID = b.SBVID
WHERE (a.dDate BETWEEN '$startdate' AND '$enddate')
AND b.cInvCode = '$id'
GROUP BY DATEADD(month, DATEDIFF(month, 0, a.dDate),103)"