 |
รบกวนหน่อยครับ ผมจะ Join ตารางอ่ะครับ มีคำแนะนำไหมครับว่าควรใช้ Left join right join อย่างไรครับ |
|
 |
|
|
 |
 |
|
ผมจะทำการจอยทั้งหมด 4 ตารางอ่ะครับ มีตาราง :mst_todouhuken,mst_area,search_motorcycle,mst_model_v2
แต่ตอนนี้ออกมาเป็นเงื่อนไขแบบนี้อยู่ครับ
Code (SQL)
select distinct(todouhuken_code),todouhuken_name, todouhuken_area_code2,area_name,ifnull(model_count,0) as cnt,model_maker_code
from
mst_todouhuken msto
right join
mst_area area on msto.todouhuken_area_code2 = area.area_code2
inner join
search_motorcycle sm on sm.dealer_todouhuken_code = msto.todouhuken_area_code
right join
mst_model_v2 v2 on sm.motorcycle_maker_code = v2.model_maker_code and sm.motorcycle_model_code =v2.model_code
where
motorcycle_jyoukyo in (1,5,6) and
model_maker_code = 4 and
dealer_todouhuken_code > 0
order by
todouhuken_area_code2,
todouhuken_code ;

Tag : PHP, MySQL
|
|
 |
 |
 |
 |
Date :
2017-10-02 10:05:32 |
By :
sangwondee |
View :
828 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
SELECT bill_out.CodeAuto,
bill_out.BillNo,
bill_out.ProductID,
bill_out.Name,
bill_out.AmountOut,
bill_out.Price,
bill_out.Total,
bill_out.Remark,
bill_out.TypeID,
bill_out.HightID,
brand.BrandID,
brand.BrandName,
bill_out.SizeID,
currency.CurrencyID,
currency.CurrencyName,
using.UseID,
using.UseName,
location.LocationID,
location.LocationName,
group_asset.GroupID,
group_asset.GroupName,
bill_id.BillNoAuto,
bill_id.BillNo,
bill_id.DateBill,
bill_id.IssueDate,
bill_id.DeptName,
bill_id.DeptID,
bill_id.Useby,
bill_id.AssetName,
bill_id.StatusBill
FROM stock_supplies.bill_out
LEFT JOIN stock_supplies.bill_id ON bill_id.BillNo = bill_out.BillNo
LEFT JOIN stock_supplies.brand ON brand.BrandID = bill_out.BrandID
LEFT JOIN stock_supplies.using ON using.UseID = bill_out.UseID
LEFT JOIN stock_supplies.currency ON currency.CurrencyID = bill_out.CurrencyID
LEFT JOIN stock_supplies.group_asset ON group_asset.GroupID = bill_id.GroupID
LEFT JOIN stock_supplies.location ON location.LocationID = bill_id.LocationID
ชื่อ Table
1. Table1 = bill_out
2. Table2 = brand
3. Table3 = currency
4. Table4 = using
5. Table5 = location
6. Table6 = group_asset
7. Table7 = bill_id
8. From bill_out
9. Databases stock_supplies /// my db
การ Join
LEFT JOIN stock_supplies.bill_id ON bill_id.BillNo = bill_out.BillNo
อ้างเอา PK เป็นหลักในการ Join
----------------------------
เวลา Select จาก Table ใดก็ตาม เอา ID มันมาด้วย
|
 |
 |
 |
 |
Date :
2017-10-02 13:36:29 |
By :
Hararock |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 2 เขียนโดย : sangwondee เมื่อวันที่ 2017-10-02 14:25:52
รายละเอียดของการตอบ ::
มันไม่น่าจะยาก ดูดีๆ
LEFT JOIN stock_supplies.brand ON brand.BrandID = bill_out.BrandID
LEFT JOIN = การ Join
stock_supplies = ชื่อ Databases ถ้า Join กันมากกว่า 1 DB ก็ต้องอ้างถืง DB นั้นด้วย
เช่น Staffdata.Dept เป็นต้น
brand = ตาราง
brand.BrandID = ตาราง brand และ BrandID
bill_out.BrandID = ตาราง bill_out (From bill_out ที่มี BrandID อยู่ด้วย)
นี้คือ จาก Table bill_out
CodeAuto
BillNo
ProductID
Name
BrandID
SizeID
CurrencyID
UseID
AmountOut
Price
Total
Remark
|
 |
 |
 |
 |
Date :
2017-10-03 08:33:08 |
By :
Hararock |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Left Join
https://www.w3schools.com/sql/sql_join_left.asp
|
 |
 |
 |
 |
Date :
2017-10-03 08:37:22 |
By :
Hararock |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแล้วครับแต่ข้อมูลที่ ได้ออกมาไม่ตรงกับ ที่เขาต้องการครับ
|
 |
 |
 |
 |
Date :
2017-10-03 09:16:34 |
By :
sangwondee |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|