ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[PHP]ใช้ left join แล้ว field มันซ้ำกันแก้ยังไงค่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [PHP]ใช้ left join แล้ว field มันซ้ำกันแก้ยังไงค่ะ  (อ่าน 1853 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
SG14
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 35
ออฟไลน์ ออฟไลน์

กระทู้: 1,398



ดูรายละเอียด เว็บไซต์
« เมื่อ: 02 พฤษภาคม 2012, 15:30:32 »

ใช้ left join แล้ว field มันซ้ำกันแก้ยังไงค่ะ

table1
- ID
- NAME

table2
- ID
- NAME

คือใช้ left join table1 กับ table2
แล้วfield มันชื่อซ้ำกัน
จะ <?=$data['name']?> ในรูปแบบนี้อะคะ

พอ echo ออกมาผลคือ มัน echo name ของ table2 เท่านั้นค่ะ ไม่รู้จะให้ echo name ของtable1 ยังไง
 wanwan017
« แก้ไขครั้งสุดท้าย: 02 พฤษภาคม 2012, 15:31:35 โดย SG14 » บันทึกการเข้า

digitalex
สมุนแก๊งเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 670



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 02 พฤษภาคม 2012, 15:43:48 »

ลองใส่ DISTINCT ดูครับ
บันทึกการเข้า

gilbert
สมุนแก๊งเสียว
*

พลังน้ำใจ: 587
ออฟไลน์ ออฟไลน์

กระทู้: 713



ดูรายละเอียด
« ตอบ #2 เมื่อ: 02 พฤษภาคม 2012, 15:45:07 »

SELECT  t1.NAME AS NAME1 , t2.NAME AS NAME2
FROM table1 t1
LEFT JOIN table2 t2 ON t1.ID = t2.ID

<?=$data['NAME1']?>
<?=$data['NAME2']?> 

ตามข้างบนครับ
« แก้ไขครั้งสุดท้าย: 02 พฤษภาคม 2012, 15:46:32 โดย gilbert » บันทึกการเข้า
somsak_tk
คนรักเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 103



ดูรายละเอียด
« ตอบ #3 เมื่อ: 02 พฤษภาคม 2012, 15:45:38 »

เวลาเรียก field ให้ใส่ชื่อกำกับ ชื่อ table ไปด้วย เช่น

select  A.id, A.name, B.id, B.name
from table1 A, table2 B


อันนี้เป็นมาตรฐาน SQL ไม่ว่าsql ยี่ห้ออะไรก็ใช้ได้คับ table1 A คำว่า A จะกลายเป็นตัวย่อ
เมื่อต้องการเรียก table นั้นๆแทน จากเดิมที่เรียก table1.id ก็เรียกแค่ A.id ได้
บันทึกการเข้า

$100 ต่อเดือน Completed แบบง่ายสุดๆด้วย Script ที่ซื้อมาแล้วจัดแต่งมั่วๆซั่วๆ
เป้าหมายต่อไป $500 ต่อเดือน
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 02 พฤษภาคม 2012, 15:50:07 »

SELECT  t1.NAME AS NAME1 , t2.NAME AS NAME2
FROM table1 t1
LEFT JOIN table2 t2 ON t1.ID = t2.ID

<?=$data['NAME1']?>
<?=$data['NAME2']?> 

ตามข้างบนครับ

ตามนี้เลยครับ Confirm...
บันทึกการเข้า

SG14
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 35
ออฟไลน์ ออฟไลน์

กระทู้: 1,398



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 02 พฤษภาคม 2012, 15:59:00 »

+1 ทุกคนเลยจ้า wanwan017
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์