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 > ขอความช่วยเหลือ ถ้ากรณี sql query ได้ผลลัพธ์ข้อมูลชุดที่ 1 สามารถนำข้อมูลนี้ที่ 1 มา query ต่อได้เลยหรือไม่แล้วเขียน sql อย่างไร



 

ขอความช่วยเหลือ ถ้ากรณี sql query ได้ผลลัพธ์ข้อมูลชุดที่ 1 สามารถนำข้อมูลนี้ที่ 1 มา query ต่อได้เลยหรือไม่แล้วเขียน sql อย่างไร

 



Topic : 107078



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



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




ขอความช่วยเหลือ ถ้ากรณี sql query ได้ผลลัพธ์ข้อมูลชุดที่ 1 สามารถนำข้อมูลชุดที่ 1 นี้มา query ต่อได้เลยหรือไม่แล้วเขียน sql อย่างไร



Tag : PHP, HTML/CSS, JavaScript, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-20 09:09:25 By : GOP View : 1303 Reply : 11
 

 

No. 1



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

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

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

หมายถึงแบบนี้หรือเปล่า
Code (PHP)
$sql = "select * from tb1";

while($tb1=mysql_fetch_object($sql)){
 $sql = mysql_query("select * from tb2 where id = $tb1->id");
  ///////
  ///////
  ///////
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-20 09:23:26 By : mangkunzo
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mangkunzo เมื่อวันที่ 2014-03-20 09:23:26
รายละเอียดของการตอบ ::
ไม่ใช่ครับ

สมมุติ คิวรี่ข้อมูลจากฐานข้อมูลได้มา 1 ชุด แล้วผมต้องการเอาข้อมูลชุดนี้ มาคิวรี่ต่ออีก (โดยข้อมูลที่จะคิวรี่ต่อนี้ไม่มีในฐานข้อมูล เพราะผมได้สร้างคิวรี่ออกมาเป็นข้อมูลชุดที่ 1 แล้ว


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-20 09:26:30 By : GOP
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ไม่มีข้อมูลในฐานข้อมูลแล้วจะไปคิวรี่อะไรครับ....ลองทบทวนแนวคิดใหม่...แล้วยก ตย. มาถาม...

เช่น ครั้งแรก select ได้ข้อมูลมาคือ หมู เห็ด เป็ด ไก่....

แล้วต้องการเอา หมู เห็ด เป็ด ไก่ ไปทำอะไรครับ....

ในความเห็นผม คำว่า คิวรี่ คือ ต้องไปกระทำอะไรสักอย่าง select insert update delete กับฐานข้อมูล

คิวรี่ที่คุณGuest ต้องการคือ อะไร อธิบายชัด ๆ ครับ

หรือ จะหมายถึง จัดกลุ่ม หรือ หาค่าอะไร จำเพาะ??


ประวัติการแก้ไข
2014-03-20 10:20:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-20 10:19:08 By : apisitp
 


 

No. 4



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



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


สมมุติ ข้อมูลในตารางฐานข้อมูล tu_info
1 a 98
2 b 85
3 c 45
4 d 99
5 e 75
6 f 96

*** คิวรี่ชุดที่หนึ่งต้องการเอาข้อมูลเพียงจำนวน 3 แถว และเรียบข้อมูลจาก ตัวเลขคอลัมน์ที่ 3 จากมากไปหาน้อย
*** นำข้อมูลที่คิวรี่ชุดที่หนึ่งมาดึงข้อมูลอีกจำนวน 3 แถวเพื่อให้มีจำนวนแถวคู่กัน เรียงลำดับจากน้อยไปหามาก

ผลลัพธ์ที่ต้องการ
1 d 99 คู่กับ c 45
2 a 98 คู่กับ e 75
3 f 96 คู่กับ b 85

จะเขียนคิวรี่อย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-20 23:45:37 By : GOP
 


 

No. 5



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



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

ตัวอย่างไม่ค่อยชัดเจนครับ แต่ถ้าตามที่ยกตัวอย่างก็ดูเหมือนจะเป็นการ

1) เรียงมากไปน้อย แสดงในคอลมน์ที่ 1 => ORDER BY ฟิลด์ที่ 3 DESC LIMIT 3
2) เรียงน้อยไปมาก แสดงในคอลมน์ที่ 2 => ORDER BY ฟิลด์ที่ 3 ASC LIMIT 3


เลยเกิดความสงสัยขึ้นมาว่า ขอมูลมีโอกาสเป็นจำนวนคี่หรือไม่เช่น 7 แถว 9 แถว
แล้วจะแสดงคู่ได้อย่าง ไร????
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 07:55:31 By : {Cyberman}
 


 

No. 6

Guest


Code (MySQL)
SELECT a.rn1 AS ListNo, a.col1, a.col2, b.col1, b.col2
FROM (
	SELECT a.*, @i := @i + 1 rn1
	FROM yourTable a, (select @i := 0) lambda
	ORDER BY Col2 DESC
	) a
LEFT JOIN (
	SELECT b.*, @j := @j + 1 rn2
	FROM yourTable b, (select @j := 0) lambda
	ORDER BY b.Col2 ASC
	) b 
ON a.rn1 = b.rn2 LIMIT 3


*****
ลองทำความเข้าใจดูครับ (Tricks)
------ lambda แปลว่า อยู่ฯก็ลอยมา (เนื่องจาก MySQL ไม่มีฟังก์ชัน ROW_NUMBER() )


[x] ถ้าเป็นฝั่ง .NET lambda หมายถึง วิวัฒนาการขั้นสุงสุด (Delegate ---> Anonymous ---> Lambda)
---- Linq ถือว่าเป็นโหลนของ Lambda Expression เลยครับ
---- ความหมายเดียวกันนั่นคือคำว่า อยู่ฯก็ลอยมา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 08:39:02 By : love9713
 


 

No. 7

Guest


Code (SQL SERVER)
SELECT a.rn1 AS ListNo, a.col1, a.col2, b.col1, b.col2
FROM (
	SELECT TOP 3 *, ROW_NUMBER() OVER (ORDER BY a.Col2 DESC) rn1
	FROM yourTable a
	ORDER BY Col2 DESC
	) a
LEFT JOIN (
	SELECT TOP 3 *, ROW_NUMBER() OVER (ORDER BY b.Col2 ASC) rn2
	FROM yourTable b
	ORDER BY Col2 ASC
	) b 
ON a.rn1 = b.rn2


หรือ

Code (SQL)
SELECT TOP  3 a.rn1 AS ListNo, a.col1, a.col2, b.col1, b.col2
FROM (
	SELECT  *, ROW_NUMBER() OVER (ORDER BY a.Col2 DESC) rn1
	FROM yourTable a
	ORDER BY Col2 DESC
	) a
LEFT JOIN (
	SELECT  *, ROW_NUMBER() OVER (ORDER BY b.Col2 ASC) rn2
	FROM yourTable b
	ORDER BY Col2 ASC
	) b 
ON a.rn1 = b.rn2



[x] โชคไม่ดีที่ MySQL ไม่มีฟังก์ชัน ROW_NUMBER()
นี่เป็นเหตุผลที่ผมไม่เคยหันมามอง MySQL
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 08:43:54 By : love9713
 


 

No. 8



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



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


ทางผมต้องขอบคุณนะครับ ได้ความรู้ใหม่ พร้อมทั้งได้โค้ด

ขอบคุณ love9713 มากจริงๆนะครับที่มาตอบกระทู้ผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 08:49:45 By : GOP
 


 

No. 9



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



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


ขอถามเพิ่มเติม แล้วกรณีที่ ข้อมูลไม่ได้จับคู่ คือ มีเศษ 1 แถว จะเขียน sql อย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 09:44:30 By : GOP
 


 

No. 10

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : GOP เมื่อวันที่ 2014-03-21 09:44:30
รายละเอียดของการตอบ ::
...


ผมอ้างเอ่ยตรงคำว่า ROW_NUMBER() บ่อยมาก

ON a.rn1 = b.rn2 หรือ ON a.rn1 < b.rn2 หรือ ON a.rn1 = b.rn2 - 2 หรือ etc...

ถ้ายังนึกภาพไม่ออก ลองนึกถึงคำว่า ยอดยกมา, ยอดยกไป, ยอดสะสมก่อนหน้า, ยอดสะสมในงวด, stock card, etc...



อันนี้คือแนวคิด อยู่ฯก็ลอยมา [color=red]เพื่อทบทวนความรู้เดิมของผมครับ
[/color]


Made for : www.thaicreate.com & Full Source Code
calcutorExt


Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 11:52:00 By : love9713
 


 

No. 11

Guest


จาก #NO 10 ปั้นน้ำให้เป็นตัว (อยู่ฯก็ลอยมา) ซึ่ง
ผมอ้างถึง ปี ค.ศ. 2010 (Visual Studio 2010) มันสามารถทำได้ และ มันเก่าเกินไปแล้ว (ผมรู้สึกเช่นนั้น)

แต่ผมค่อนข้างจะมั่นใจว่ามันต้องทำได้แล้ว >= VS2010 หรือ ภาษาใดฯ ก็ตาม
1 Input ---> Multiple Output หรือเข้าใจได้ง่ายฯว่า #NO 10 ต้องเหลือแค่บรรทัดเดียว


ผมกลายเป็นคนตกสมัยไปแล้ว เอวัง

เสียดาย...
เสียดาย...
เสียดาย...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-21 13:57:11 By : love9713
 

   

ค้นหาข้อมูล


   
 

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