Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ช่วยแก้ Sub Select Query ใน SQL SERVER หน่อยคะ .................................



 

ช่วยแก้ Sub Select Query ใน SQL SERVER หน่อยคะ .................................

 



Topic : 130826



โพสกระทู้ ( 681 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter



Sub Select Query

Code (PHP)
$strSQL="SELECT COUNT(VN) as pretotal = 
       (SELECT COUNT(VN) as total 
       FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
       WHERE VisitDate BETWEEN '".$nowYear."-".$month."-1' AND '".$nowYear."-".$month."-".$dmonth."' AND Cxl='0')
        FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
        WHERE VisitDate BETWEEN '".(($nowYear)-1)."-".$month."-1' AND '".(($nowYear)-1)."-".$month."-".$dmonth."' AND Cxl='0'";  
$objExec = odbc_exec($conn,$strSQL) or die ("Error SQL [".$strSQL."]"); 


Code (PHP)
SELECT COUNT(VN) as pretotal = 
     (SELECT COUNT(VN) as total 
      FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
      WHERE VisitDate BETWEEN '2018-1-1' AND '2018-1-31' AND Cxl='0') 
FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER
WHERE VisitDate BETWEEN '2017-1-1' AND '2017-1-31' AND Cxl='0'



Code (PHP)
พอลอง query ใน SQL SERVER มันฟ้องว่า
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '='.
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'FROM'.




Tag : PHP









ประวัติการแก้ไข
2018-04-12 12:00:04
2018-04-12 12:00:50
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-04-12 11:59:21 By : nottpoo View : 467 Reply : 4
 

 

No. 1



โพสกระทู้ ( 9,556 )
บทความ ( 2 )



สถานะออฟไลน์


Code (SQL)
SELECT 
     (SELECT COUNT(VN) FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
      WHERE VisitDate BETWEEN '2017-1-1' AND '2017-1-31' AND Cxl='0') as pretotal , 
     (SELECT COUNT(VN) FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
      WHERE VisitDate BETWEEN '2018-1-1' AND '2018-1-31' AND Cxl='0') as total 


การใช้ วันที่ ถึง วันที่ ระวัง เดือนกุมภาพันธ์ 28 - 29 วัน ของ ต่างปีด้วยนะครับ








ประวัติการแก้ไข
2018-04-12 13:22:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-12 13:20:11 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 681 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ใช่คะพี่ ตอนนี้ใช้ฟังก์ชั่น cal_days_in_month(CAL_GREGORIAN, $mm, $yy);
แต่ทำไม บางปีที่มี 28 วัน มันฟ้องว่า มี 29 วันคะ ทั้งๆที่เราใช้ฟังก์ชั่นนี้เชคค่าแล้ว
เห็นไหมคะ วันฟ้อง error ว่าปี 2015 มี 29 วัน

Code (PHP)
function days_in_month($month, $year)
{
     // calculate number of days in a month
      return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) :(($month - 1) % 7 % 2 ? 30 : 31);
 }   

      $nYear = date('Y');
      $sYear = 2549-543;
    
  for($yy=$nYear;$yy>=$sYear;$yy--) 
  {   
                    
    echo  "<tr>";
    echo  "<td><b>".($yy+543)."</b></td>";

     for($mm=1;$mm<=12;$mm++)
      {
      $dd =cal_days_in_month(CAL_GREGORIAN, $mm, $yy);
       //echo "There was".$dd."days Month".$mm."year".$yy."<br>";
      
       $strSQL="SELECT COUNT(VN) as pretotal, 
           (SELECT COUNT(VN) 
            FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
             WHERE VisitDate BETWEEN '".$yy."-".$mm."-1' AND '".$yy."-".$mm."-".$dd."' AND Cxl='0') as total 
             FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
             WHERE VisitDate BETWEEN '".(($yy)-1)."-".$mm."-1' AND '".(($yy)-1)."-".$mm."-".$dd."' AND Cxl='0'";      

      $objExec = odbc_exec($conn,$strSQL) or die ("Error SQL [".$strSQL."]");
     while($objResult = odbc_fetch_object($objExec))
      {
             $pretotal=$objResult->pretotal; 
             $total=$objResult->total;  
                                    
             //var_dump($pretotal);
             //var_dump($total);
                                    
            $nets= (($total-$pretotal)*100)/$pretotal;
             //echo $nets."<br>";
            echo "<td span class=border>".(number_format($total, 0))."<br>".(number_format($nets, 2))."</td>";
                                    
                                    
 } 
             //echo $strSQL;
     }
           echo "</tr>";
            $yy--;
 }


Code (PHP)
Warning: odbc_exec(): SQL error: [Microsoft][SQL Server Native Client 11.0][SQL Server]The conversion of a varchar data type to a datetime data type resulted in an out-of-range value., SQL state 22008 in SQLExecDirect in D:\Apache24\htdocs\Bootstrap\ThainakarinStatistics\test\subquery.php on line 34
Error SQL [SELECT COUNT(VN) as pretotal, (SELECT COUNT(VN) FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER WHERE VisitDate BETWEEN '2016-2-1' AND '2016-2-29' AND Cxl='0') as total FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER WHERE VisitDate BETWEEN '2015-2-1' AND '2015-2-29' AND Cxl='0']



ประวัติการแก้ไข
2018-04-12 14:09:17
2018-04-12 14:09:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-12 14:06:27 By : nottpoo
 

 

No. 3



โพสกระทู้ ( 1,636 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

เปลี่ยนการอ้างอิงใหม่ให้อ้างอิงเป็นเดือน

Code (SQL)
SELECT 
     (SELECT COUNT(VN) FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
      WHERE Year(VisitDate) = 2017 and month(VisitDate)=1 AND Cxl='0') as pretotal , 
     (SELECT COUNT(VN) FROM DNHOSPITAL_TEST.dbo.HNOPD_MASTER 
      WHERE Year(VisitDate) = 2018 and month(VisitDate)=1 AND Cxl='0') as total

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-12 16:02:37 By : NewbiePHP
 


 

No. 4



โพสกระทู้ ( 681 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ขอบคุณมากคะ ทั้งสองท่าน แก้ได้แล้วคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-17 08:36:01 By : nottpoo
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแก้ Sub Select Query ใน SQL SERVER หน่อยคะ .................................
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่