 |
สอบถามการ join table 2 table โดยที่ table แรก เก็บ id และชื่อบริษัท ส่วน table 2 เก็บเฉพาะ id ชื่อบริษัท โดยค้นหาจาก ชื่อบริษัท |
|
 |
|
|
 |
 |
|
ผมมี 2 table คือ table company กับ table order ต้องการค้นหา จากชื่อบริษัท คือ ฟิว company คือผมอยากรู้ว่า บริษัทนี้ ได้ทำการสั่งสินค้าไปกี่ใบสั่ง ประมาณนี้ ครับ ทีแรกผมทำเป็นค้นหาจากรหัสบริษัท แต่ ผู้ใช้งานบอกว่าจำไม่ได้จำยาก เลยให้เป็นค้นหาตามชื่อบริษัทแทนครับ รบกวนดูโค๊ดให้หน่อย ครับ
table company
idcompany , company
001, บริษัทนครชัย
002 , บริษัทมหานคร
003 , บริษัทมหาชัย
004 , บริษัทโชคชัย
table order
order_idcompany , generation , idcode_pb , company_general
001 , ยางลบ , 1, คุนสมหมาย
002 , ดินสอ , 2 , คุณสมใจ
002 , ปากกา , 3 , คุณสมใจ
003 , ไม้บรรทัด , 4 , คุณสมใจ
004 , ยางลบ , 5 , คุณสมนึก
004 , ไม่บรรทัด , 6 , คุณสมศรี
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2013-07-31 08:51:30 2013-07-31 11:22:14 2013-07-31 11:23:20
|
 |
 |
 |
 |
Date :
2013-07-30 15:19:33 |
By :
031130 |
View :
737 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดูครับ
Code (PHP)
$search = 'บริษัทนครชัย';
$sql = " SELECT company.*, order.*
FROM order
LEFT JOIN company
ON order.idcompany = company.ID
WHERE company.company LIKE '%$search%' ";
|
 |
 |
 |
 |
Date :
2013-07-30 16:03:09 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอคุณมากครับ สำหรับแนวทาง ขอเพิ่มเติมนิดหนึ่ง ครับ คือ ผมเพิ่มให้ค้นหาตามชื่อของลูกค้า(company_general) ไม่ทราบว่าผมเขียนตรงไหนผิดครับ ทำไมค้นเจอแต่ชื่อบริษัท ครับ แต่ชื่อลูกค้า(company_general)ค้นหาไม่เจอ รบกวนช่วยดูโค๊ดให้หน่อย ครับ
Code (PHP)
SELECT `order`.*, company_user.*
FROM `order`, company_user
WHERE `order`.order_idcompany=company_user.idcompany
AND (company_user.compa_name LIKE '%".$_GET["txtKeyword"]."%' or `order`.company_general LIKE '%".$_GET["txtKeyword"]."%')
Group by `order`.idcode_pb order by `order`.idcode_pb DESC
|
ประวัติการแก้ไข 2013-07-31 11:22:24 2013-07-31 11:26:15 2013-07-31 11:29:28
 |
 |
 |
 |
Date :
2013-07-31 09:03:03 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยดูโค๊ดให้หน่อย ครับ
|
 |
 |
 |
 |
Date :
2013-07-31 13:44:45 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเอา group by ออกครับ รู้สึกว่ามันจะกรุ๊ป order ไปรวมกับ company นะครับ
|
 |
 |
 |
 |
Date :
2013-07-31 13:49:15 |
By :
Dragons_first |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ประมาณนี้มั้ง ลองดูครับ
Code (PHP)
$sql = "SELECT order.*, company_user.*
FROM order
LEFT JOIN company_user
ON order.order_idcompany = company_user.idcompany
WHERE company_user.compa_name LIKE '%".$_GET["txtKeyword"]."%'
OR order.company_general LIKE '%".$_GET["txtKeyword"]."%'
ORDER BY order.idcode_pb DESC";
|
ประวัติการแก้ไข 2013-07-31 13:53:42
 |
 |
 |
 |
Date :
2013-07-31 13:53:18 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณ พี่ ทั้ง สอง ครับ ได้ แล้ว ครับ
|
 |
 |
 |
 |
Date :
2013-08-01 08:47:31 |
By :
031130 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|