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 > เรื่อการ join ตาราง ไม่ต้องให้ข้อมูลขึ้นซ้ำ ผมใช้ทั้ง group by และ distinct ก็เหมือนเดิมเดิมครับ



 

เรื่อการ join ตาราง ไม่ต้องให้ข้อมูลขึ้นซ้ำ ผมใช้ทั้ง group by และ distinct ก็เหมือนเดิมเดิมครับ

 



Topic : 064536



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



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



เรื่อการ join ตาราง ไม่ต้องให้ข้อมูลขึ้นซ้ำ ผมใช้ทั้ง group by และ ditinct ก็เหมือนเดิมเดิมครับ
ซาลาเปาทับหลี 863312452
กองออกกำลังกายเพื่อสุขภาพ 021222322
ยูเมะ ทาโกะยากิ 038620708
สำนักงานโครงการพัฒนาร้านยา025897147
ป้าอู๊ดข้าวแกงทอด 0876773767
สำนักงานกองทุนสนับสนุนการ สร้างเสริมสุขภาพ(สสส.)022980500
ร้านกีต้าร์ รีช(02) 959-1196
คาร์ทูเดย์(02)539-7095
เฟรทซ์867956791
เฟรทซ์867956792
เฟรทซ์867956793
เฟรทซ์867956794
เฟรทซ์867956795
จะเห็นได้ว่าชื่อธุรกิจ เฟรทซ์ เป็น 1 ธุรกิจ แต่มีหลายเบอร์โทรศัพท์ แต่ปัญหาคือมันขึ้นซ้ำกันครับ ผมอยากให้มันออกแค่อันแรกอันเดียวอ่ะครับ ผมลอง distinct แล้ว group by ก็แล้ว ก็ยังขึ้น ซึ่งไม่ดีแน่ถ้า User จะ Search ข้อมูลมาเจอแบบนี้ครับ

LEFT JOIN , RIGHT JOIN , INNER JOIN
<?
$strSQL = "SELECT DISTINCT(detail.ThaiName),detail.*,tel.* FROM detail LEFT JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T' ";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
echo $strSQL;
while($objResult = mssql_fetch_array($objQuery))
{
echo "<br>";
echo $objResult["ThaiName"].$objResult["tel"];
}
?>
<br /><br />
<?
$strSQL = "SELECT DISTINCT(detail.ThaiName),detail.*,tel.* FROM detail RIGHT JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T'";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
echo $strSQL;
while($objResult = mssql_fetch_array($objQuery))
{
echo "<br>";
echo $objResult["ThaiName"].$objResult["tel"];
}
?>
<br /><br />
<?
$strSQL = "SELECT DISTINCT(detail.ThaiName),detail.*,tel.* FROM detail INNER JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T'";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
echo $strSQL;
while($objResult = mssql_fetch_array($objQuery))
{
echo "<br>";
echo $objResult["ThaiName"].$objResult["tel"];
}
?>




Tag : PHP, Ms SQL Server 2008







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-08-10 14:33:18 By : MyZeus View : 2864 Reply : 8
 

 

No. 1



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

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

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

select ซ้อน select ครับ

Code (PHP)
SELECT valueC
FROM C
INNER JOIN
(
    SELECT DISTINCT lookupC
    FROM B INNER JOIN
    (
        SELECT DISTINCT lookupB
        FROM A
    ) 
    A2 ON B.id = A2.lookupB
) 
B2 ON C.id = B2.lookupC







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


 

No. 2



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

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

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


select ข้อมูลแบบ * แบบนั้นมันก็ไม่แปลกเลยครับที่มันจะออกมาหมด เพราะข้อมูลมันต้องซ้ำกันทุกฟิลด์มันถึงจะ ออกมาแค่ record เดียว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 14:47:23 By : ikikkok
 

 

No. 3



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



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

select ซ้อน select ผมงงมากเลยครับ ถ้าทำจริงๆมี 5 ตารางหนะครับ

ส่วนคุณ PlaKriM ผมลองเอา * ออกแล้วครับ มันเหมือนเดิมอะครับ

Code
SELECT DISTINCT(detail.ThaiName),detail.ThaiName,tel.tel FROM detail LEFT JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T'

SELECT DISTINCT(detail.ThaiName),detail.ThaiName,tel.tel FROM detail RIGHT JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T'

SELECT DISTINCT(detail.ThaiName),detail.ThaiName,tel.tel FROM detail INNER JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T'

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 15:15:26 By : MyZeus
 


 

No. 4



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

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

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


Quote:
SELECT detail.ThaiName,tel.tel FROM detail INNER JOIN tel ON detail.id_detail=tel.id_detail WHERE detail.Enable='T' AND detail.IsActive='T' GROUP BY detail.ThaiName, tel.tel



ประวัติการแก้ไข
2011-08-10 15:30:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 15:29:31 By : ikikkok
 


 

No. 5



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



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

ออกเหมือนเดิมเลยอะครับ
detail = id_detail , ThaiName
tel = id_tel , tel , id_detail
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 15:51:12 By : MyZeus
 


 

No. 6



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



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

ช่วยหน่อยครับ ถ้าธุรกิจนึงมีเป็นร้อยเบอร์ มันก็จะออกมาเป็นร้อยเบอร์ ผมแค่ต้องการให้ออกแค่เบอร์เดียวอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 22:12:51 By : MyZeus
 


 

No. 7



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

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

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


ไม่ทราบว่าลอง คิวรี่ดูใน management studio ดูหรือยังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 23:30:15 By : ikikkok
 


 

No. 8



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



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

เอาไปลองกับ show sql plan ผลลัพท์ออกหลายธุรกิจเหมือนกันครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-10 23:40:26 By : MyZeus
 

   

ค้นหาข้อมูล


   
 

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