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 > inner join มากกว่า 2 ตาราง แล้วข้อมูลเบื้ลครับ กลายเป็น จำนวนแถวXจำนวนแถว



 

inner join มากกว่า 2 ตาราง แล้วข้อมูลเบื้ลครับ กลายเป็น จำนวนแถวXจำนวนแถว

 



Topic : 051447



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



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




inner join มากกว่า 2 ตาราง แล้วข้อมูลเบื้ลครับ
ข้อมูลของผมมีดังนี้ครับ
tableแรก
tableแรก

tableสอง
tableสอง

ในส่วนของโค้ดครับ
ส่วนcode


ถ้าดึงข้อมูล table เดียวไม่มีปัญหาครับ แต่พอเมื่อjoin กัน กลายเป็นว่า มันเอาจำนวนแถว x จำนวนแถว ค่าก็เบิ้ลออกมาครับ
เบิ้ล


ผมก็ทำมาหลายวิธีแล้ว ทั้ง distinct ทั้ง Group แล้วก็ยังไม่ได้ ใครพอจะมีทางช่วยเหลือบ้างไหมครับ

แล้วพอมีโปรแกรมที่ดึงค่าsyntaxออกมาได้เลย เหมือนsql 2000 เลยเปล่าครับ แบบไม่ต้องมานั่งพิมพ์นะครับ

ข้อมูลที่ผมใช้ appserv 5.0.51b
ใช้ mysql qurey brower เป็นตัวออกแบบฐานข้อมูล ซึ่งข้อมูลมันก็มองให้ในphpmyadmin 2.10.3

ผิดตรงไหนช่วยแนะนำด้วยครับ ขอบพระคุณทุกคำตอบครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-10 10:51:18 By : moobin29 View : 7983 Reply : 11
 

 

No. 1



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

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

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

Code (PHP)
$strSQL = "SELECT * FROM Employee INNER JOIN ON EmpType WHERE Employee.EmpTypeID=EmpType.EmpTID";


ลองดูนะครับ ไม่ค่อยมั่นใจ








ประวัติการแก้ไข
2010-11-10 11:03:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 10:57:16 By : adaaugusta
 


 

No. 2



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



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


หรือไม่ก็ลองแบบนี้ครับ

Code (PHP)
select * from table_name left outer join t_name on (table_field_name=t_name.f_name)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:08:25 By : kanchen
 

 

No. 3



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



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


แง่ว ยังไม่ได้เลยครับ ขึ้น Error Query [SELECT * FROM Employee INNER JOIN ON EmpType WHERE Employee.EmpTypeID=EmpType.EmpTID]


ลืมบอกไปครับว่า เมื่อเอาอีกfieldหนึ่งขอtableหนึ่งจะเป็นอย่างงี้ครับ
เบิ้ลสอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:14:18 By : moobin29
 


 

No. 4



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



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


ERROR Qurey เหมือนกันครับ ไม่รู้ผมทำถูกเปล่าครับ
select * from Employee left outer EmpType on (EmpTypeID=EmpTname)";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:20:40 By : moobin29
 


 

No. 5



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



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


ตารางแรกไม่มีตัวข้อมูลเลยหรือว่าเป็นพนักงานประเภทไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:22:33 By : ryuki123
 


 

No. 6



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

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

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

ไหนเอา DB แต่ละตารางมาดูหน่อยสิครับ ว่ายังไง แล้วจะ JOIN โดยอะไร


ประวัติการแก้ไข
2010-11-10 11:25:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:24:30 By : adaaugusta
 


 

No. 7



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



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


sql = "select em.EmpFirstName, em.EmpLastName et.EmpTName from Employee em inner join EmpType et on em.EmpTypeID = et.EmpTID";


ประวัติการแก้ไข
2010-11-10 11:28:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:25:10 By : Amanza
 


 

No. 8



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



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


คือมีข้อมูลทั้งสองตารางครับ join primarykey forenkey ปกติในmysql qureybrowser

นี่คือฐานข้อมูลของผมที่ออกแบบในmysql qureybrowser ที่คุณกะล่อนขอนะครับ

http://www.petcharat-hospital.com/New%20Project%2020101110%201151.sql

คือฐานข้อมูลที่ได้ ต้อง importเข้า mysql administrator นะครับ ไม่รู้ว่าเอาเข้า phpmyadminได้รึเปล่า แต่ที่ผมลองนั้นไม่ได้ครับ แต่สามารถมองเห็นกันเองได้ครับ


ประวัติการแก้ไข
2010-11-10 11:52:54
2010-11-10 11:54:54
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 11:51:11 By : moobin29
 


 

No. 9



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

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

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

เอาแบบนี้ไปก่อนแล้วกัน เดี๋ยวแบบย่อๆ ค่อยตามมา
Code (PHP)
$strSQL = "SELECT employee.EmpFirstName,employee.EmpLastName,employee.EmpTypeID,emptype.EmpTID,emptype.EmpTName FROM employee,emptype WHERE employee.EmpTypeID=emptype.EmpTID";


อ่ะนี่ย่อแล้วใช้ INNER JOIN
Code (PHP)
$strSQL = "SELECT EmpFirstName,EmpLastName,EmpTypeID,EmpTID,EmpTName FROM employee INNER JOIN emptype ON employee.EmpTypeID=emptype.EmpTID";



มามะมา Join กัน Join กัน มาซิมา มาเจอ กัน เจอกัน (ร้องเพลงบอกอายุเลยเรา)


ประวัติการแก้ไข
2010-11-10 12:22:18
2010-11-10 12:22:56
2010-11-10 12:23:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 12:16:50 By : adaaugusta
 


 

No. 10



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



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


code ที่พี่ทำให้ ใช้ได้แล้วนะครับ ขอบพระคุณเป็นอย่างสูงเลย ขอให้ร่ำขอให้รวยนะครับ

โหยพี่ หน้ายังละอ่อนอยู่เลย ให้เดานี่เดาไม่ถูกเลยนะครับเนี่ยว่าอายุเท่าไหร่นะ อิอิ


ประวัติการแก้ไข
2010-11-10 13:01:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 12:58:02 By : moobin29
 


 

No. 11



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



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


อันนี้ ผมลอง join ตาราง มานะ ของผมเอง
tb_customer_sap // ตารางลูกค้า
tb_user //ตารางพนักงาน
tb_userposition //ตารางตำแหน่งงาน
tb_division //ตารางแผนก
ผมลอง ดูละ 4 ตาราง ไม่มีปัญหานะครับ แบบนี้อะ ออกตาม ปกติเลย
ซึ่งตารางข้างต้นผมต้องการ ค้นหา บางอย่างคือ
ผู้ Login เข้ามา จะมาดูรายการลูกค้าของ ซึ่งจะต้องดูได้เฉพาะ ของ ตัวเอง เท่านั้น เช่น
A ตำแหน่ง ผู้จักการขาย แผนก ดิลเลอร์
B ตำแหน่ง sale แผนก ดิลเลอร์
C ตำแหน่ง ผู้จักการขาย แผนก ปิโตรเคมี

นาย C จะดูได้เฉพาะข้อมูลของตัวเองเท่านั้น หรือแผนกตัวเอง คือ ปิโตรเคมี ไม่สามารถเข้าถึงข้อมูลลูกค้า ของนาย B ได้


นาย A กับ B สามาดูได้ของ แผนกตัวเองเท่านั้น คือ ดิลเลอร์ ไม่สามารถเข้าถึงข้อมูลลูกค้า ของนาย C ได้

ก็ประมาณนี้แหละครับ

Code

$sqlun="select * from tb_customer_sap inner join tb_user on tb_customer_sap.sapcustomer_rpbuser=tb_user.user_idcode inner join tb_userposition on tb_user.user_id=tb_userposition.pouser_user inner join tb_division on tb_userposition.pouser_divid=tb_division.division_id where tb_division.division_id='$udivs_id' ORDER BY sapcustomer_userid ASC Limit 0,100 ";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 10:55:32 By : bluesix
 

   

ค้นหาข้อมูล


   
 

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