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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingขอความช่วยเหลือ Mysql Query แนว Relation หน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ขอความช่วยเหลือ Mysql Query แนว Relation หน่อยครับ  (อ่าน 740 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
deknakhon
คนรักเสียว
*

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

กระทู้: 166



ดูรายละเอียด เว็บไซต์
« เมื่อ: 05 ตุลาคม 2012, 21:48:49 »




โค๊ด:
$srtSQL="SELECT 
mem.MemberID as MemberID,
mem.RegisterDate as RegisterDate,
mem.FirstName as FirstName,
mem.LastName as LastName ,
PROVINCE_NAME,
PrefixeName,
HomePhone,
HomeMobile

FROM ".TB_MEMBERS." mem
LEFT OUTER JOIN ".TB_PREFIXES." pfix ON mem.Prefix_ID=pfix.ID
LEFT OUTER JOIN ".TB_PROVINCES." prov ON mem.ProvinceID=prov.Province_CODE


ต้องการนำ Query ด้านล้างมาเพิ่ม ใน Query ด้านเพื่อให้ทำการ  while แค่ครั้งเดียว
ขอรบกวนท่านที่เคยใช้ Mysql Relation ขั้นสูง

โค๊ด:
#ค่าธรรมเนียม
select RegistrationFee from member_shares where MemberID='55100001'
#เงินหุ้น
select TotalShareAmt from member_share_details where MemberID='55100001' and AcCode='201'
#เงินสมทบ
select TotalShareAmt from member_share_details where MemberID='55100001' and AcCode='202'
« แก้ไขครั้งสุดท้าย: 05 ตุลาคม 2012, 21:57:35 โดย deknakhon » บันทึกการเข้า

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์
shokarita
สมุนแก๊งเสียว
*

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

กระทู้: 996



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 05 ตุลาคม 2012, 22:17:40 »

ดูแบบนี้เข้าใจยาก ลองเอาโครงสร้าง table มาดูดีกว่าครับ และอธิบายความสัมพันธ์ของ table ให้ใหม่หน่อย
บันทึกการเข้า

Bigguide
คนรักเสียว
*

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

กระทู้: 138



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 ตุลาคม 2012, 22:40:02 »

เงินหุ้นกับเงินสมทบน่าจะ Selecet มาได้ในครั้งเดียวนะครับ แล้วเอามา left join เข้ากับ select ของ member_shares แล้วก็นำ query ข้างบนมาทำการ left join อีกครั้ง
บันทึกการเข้า

I'm a dreamer
deknakhon
คนรักเสียว
*

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

กระทู้: 166



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 06 ตุลาคม 2012, 10:50:02 »

ดูแบบนี้เข้าใจยาก ลองเอาโครงสร้าง table มาดูดีกว่าครับ และอธิบายความสัมพันธ์ของ table ให้ใหม่หน่อย

โครงสร้างตาราง

member_share_details

Field    Type    Null    Default    Comments
ID    int(10)    No       
MemberID    varchar(10)    No    0    
AcCode    varchar(5)    Yes    NULL    
RegistrationNo    int(10)    Yes    NULL    
REFNO    varchar(10)    No       
ReceiptNo    varchar(10)    Yes    NULL    
ReceiptDate    date    Yes    NULL    
ShareAmt    decimal(10,0)    Yes    NULL    
ShareQty    decimal(10,0)    Yes    NULL    
TotalShareAmt    decimal(10,0)    Yes    NULL    
REMARK    text    Yes    NULL    
ShareType    enum('F', 'A', 'T', 'C')    Yes    A    
AddShareDate    datetime    Yes    NULL    


member_shares

Field    Type    Null    Default    Comments
ID    int(10)    No       
MemberID    varchar(10)    Yes    NULL    
AcCode    varchar(5)    No       
RegistrationNo    int(10)    Yes    NULL    
REFNO    varchar(10)    No       
RegistrationDate    date    Yes    NULL    
RegistrationFee    decimal(10,0)    Yes    NULL    
ShareAmt    decimal(10,0)    Yes    NULL    
ShareQty    decimal(10,0)    Yes    NULL    
TotalShareAmt    decimal(10,0)    Yes    NULL    
AddShareDate    datetime    Yes    NULL    
Lastupdate    datetime    Yes    NULL    
members
Field    Type    Null    Default    Comments
ID    int(11)    No       
MemberID    varchar(10)    No       
MemberType    enum('1', '2')    No    2    
RegisterDate    date    No    0000-00-00    
Identification    varchar(13)    No    0    
RegistrationNo    varchar(10)    Yes    NULL    
Prefix_ID    varchar(3)    Yes    NULL    
FirstName    varchar(40)    No       
LastName    varchar(40)    No       
Member_Birthday    date    No    0000-00-00    
memberAge    varchar(3)    No    0    
Race    varchar(50)    No    0000-00-00    
Nationality    varchar(50)    No    0000-00-00    
Religion    varchar(50)    No    0000-00-00    
Sax    enum('M', 'F', 'N')    No    N    
AddNo    varchar(10)    Yes    NULL    
Moo    varchar(10)    Yes    NULL    
Lane    varchar(10)    Yes    NULL    
Soi    varchar(10)    Yes    NULL    
Road    varchar(10)    Yes    NULL    
DistrictID    varchar(7)    Yes    NULL    
AmphurID    varchar(5)    Yes    NULL    
ProvinceID    varchar(3)    Yes    NULL    
ZipCode    varchar(5)    Yes    NULL    
HomePhone    varchar(20)    Yes    NULL    
HomeMobile    varchar(20)    Yes    NULL    
MemberEmail    varchar(70)    Yes    NULL    
Education    varchar(70)    Yes    NULL    
Profession    varchar(70)    Yes    NULL    
JobDetail    varchar(70)    Yes    NULL    
WorkCompanyName    varchar(50)    Yes    NULL    
workPosition    varchar(50)    Yes    NULL    
WorkAddNo    varchar(10)    Yes    NULL    
WorkMoo    varchar(10)    Yes    NULL    
WorkLane    varchar(10)    Yes    NULL    
WorkSoi    varchar(70)    Yes    NULL    
WorkRoad    varchar(70)    Yes    NULL    
WorkDistrict_ID    varchar(7)    Yes    NULL    
WorkAmphur_ID    varchar(5)    Yes    NULL    
WorkProvince_ID    varchar(3)    Yes    NULL    
WorkZipcode    varchar(5)    Yes    NULL    
WorkPhone    varchar(20)    Yes    NULL    
WorkPhone_Ext    varchar(10)    Yes    NULL    
WorkFax    varchar(20)    Yes    NULL    
SalaryAmt    decimal(10,0)    No    0    
OtherIncome    decimal(10,0)    No    0    
MEMBER_STATUS    enum('M', 'N')    No    M    
LastUpdate    datetime    Yes    NULL


ท่านไดพอมีความรู้บ้างครับ ช่วยชี้แนะหน่อยครับ   


« แก้ไขครั้งสุดท้าย: 07 ตุลาคม 2012, 23:46:39 โดย deknakhon » บันทึกการเข้า

รับพัฒนาโปรแกรม PHP Mysql
รับออกแบบระบบโปรแกรม
รับวางระบบเครือข่ายคอมพิวเตอร์
หน้า: [1]   ขึ้นบน
พิมพ์