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,037

HOME > PHP > PHP Forum > รบกวนผู้รู้ช่วยแนะนำการ Select ค่าแบบว่านำข้อมูลในฟิลด์ที่มีค่า where เหมือนกันนำมาต่อกัน



 

รบกวนผู้รู้ช่วยแนะนำการ Select ค่าแบบว่านำข้อมูลในฟิลด์ที่มีค่า where เหมือนกันนำมาต่อกัน

 



Topic : 097002

Guest




รบกวนผู้รู้ช่วยแนะนำการ Select ค่า แบบว่านำข้อมูลในฟิลด์ที่มีค่า where เหมือนกันนำมาต่อกัน เช่น ตัวอย่างตามรูปด้านล่าง

ตารางที่เก็บข้อมูลทั้งหมด
database1


ใช้โคด

Code
DECLARE @Str varchar(8000) SELECT @Str=COALESCE(@Str,'') + CAST(level1 as varchar(10)) + ',' FROM ( SELECT DISTINCT company_code , user_login, level1 FROM tb_nUserspecial ) A where user_login = 'orawakon' and company_code = 'MSC' SELECT LEFT(@Str,LEN(@str)-1) AS level1_move


--> เพื่อต้องการ move ข้อมูลที่อยู่ใน level1 มารวมโดยที่มี user_login = 'orawakon' and company_code = 'MSC' และให้เครื่องหมาย ',' เป็นตัวขั้นระหว่างกลาง

ใน SQL จะแสดงผลถูกต้องดังรูป

select

ซึ่งโคดที่เอามาแสดงนั้นไม่สามารถนำไปให้กับ php ได้ รบกวนผู้รู้ช่วยหน่อยนะคะ ขอบคุณล่วงหน้าค่ะ



Tag : PHP, Ms SQL Server 2008







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-06-25 11:19:34 By : กระต่าย View : 796 Reply : 8
 

 

No. 1

Guest


Code (PHP)
$a=" ";

for($i=1; $i >=  sizeof(ตัวแปร Count); $++)
{
   if($i==1){
        $a.=" ค่าที่ 1 ";
   }else{
         $a.=", ค่าที่ $i ";
   }

}




ลองดูนะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 15:48:21 By : SN
 


 

No. 2



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



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

ลองใช้พวก heredoc ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 15:50:43 By : itpcc
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : SN เมื่อวันที่ 2013-06-25 15:48:21
รายละเอียดของการตอบ ::
กำลังลองทำอยู่พอดีเลยค่ะ ไม่รู้จะได้ผลหรือเปล่า เดี๋ยวลองต่อก่อนนะคะ ขอบคุณมากค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 16:09:27 By : กระต่าย
 


 

No. 4

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : itpcc เมื่อวันที่ 2013-06-25 15:50:43
รายละเอียดของการตอบ ::
ขอบคุณค่ะ ถ้าลองวิธี for ไม่ได้จะลองวิธีนี้ดูนะคะ แต่ว่าลองเปิดเข้าไปดูไม่ค่อยเข้าใจเท่าไหร่เลยค่ะ ^^"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 16:11:30 By : กระต่าย
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : SN เมื่อวันที่ 2013-06-25 15:48:21
รายละเอียดของการตอบ ::
ยังทำไม่ได้เลยค่ะ -_-
ไม่ค่อยเข้าใจส่วนที่เป็นตัวสีแดงอ่ะค่ะ -_- รบกวนคุณ SN แนะนำหน่อยนะคะ

$a=" "; for($i=1; $i >= sizeof(ตัวแปร Count); $++) { if($i==1){ $a.=" ค่าที่ 1 "; }else{ $a.=", ค่าที่ $i "; } }


ขอบคุณค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 09:04:27 By : กระต่าย
 


 

No. 6



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



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

ต้องขออภัยที่อ่านคำถามแล้วไม่เข้าใจ แต่เห็นภาพสุดท้ายต้องการผลลัพธ์แนวนี้ เลยเอาโค๊ดมาแปะให้ศึกษาดู

Code (PHP)
$sql = "SELECT GROUP_CONCAT( level1 SEPARATOR ',') as level1_move FROM `tb_nUserspecial` ";
$result = mysql_query($sql);
$rs = mysql_fetch_assoc($result);
$AllEmpName = $rs['level1_move '];


ตัวอย่างเพิ่มเติม
https://www.thaicreate.com/tutorial/sql-group-concat.html


ประวัติการแก้ไข
2013-06-26 09:43:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 09:38:55 By : {Cyberman}
 


 

No. 7

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-06-26 09:38:55
รายละเอียดของการตอบ ::
ขอบคุณมากค่ะคุณ Cyberman เดี๋ยวลองทำดูก่อนนะคะ ^____^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 10:03:26 By : กระต่าย
 


 

No. 8

Guest


Code (PHP)
$sql = "SELECT level1 FROM `tb_nUserspecial` WHERE  user_login = 'orawakon' and company_code = 'MSC' ";
$result = mysql_query($sql);
$a=" ";  //คือค่าที่เอาไว้รับค่า
$no=0;
while($rs=mysql_fetch_array($result))
{
$level=$rs['level1'];
$no=$no+1;
$a=$a;
if($no==1)
{
  $a=$level;
}else{
  $a.=",$level";
}
}



รอบแรกจะได้ $a="200";
รอบสองจะได้ $a="200,300";
รอบสามจะได้ $a="200,300,800";


โทษทีนะครับ ลองแบบนี้ดีกว่า ถ้าทำ Loop for ต้อง select sql ใน for หลายครั้ง
แบบนี้ดีกว่าครับ ลองดูใหม่นะ
คำสั่ง sql อาจจะไม่ถูกลองเช็คดูนะครับ ปรกติเขียนกับ sql ผ่าน odbc มากกว่า
ไม่ค่อยได้ใช้ mysql
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 17:12:16 By : SN
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนผู้รู้ช่วยแนะนำการ Select ค่าแบบว่านำข้อมูลในฟิลด์ที่มีค่า where เหมือนกันนำมาต่อกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่