簡體   English   中英

使用LEFT OUTER JOIN建立查詢結果

[英]Using LEFT OUTER JOIN to build query results

有三個這樣的表:

store_stock:

ID   ItemWeaveType   ItemModel   Cost   Price   
7    3               4           10.00  15.00

store_item_weaves:

ID   WeaveID
3    MC

store_item_models:

ID   ModelID
4    HV

我正在嘗試執行一個查詢,以收集庫存ID為7的商品的所有數據。作為最終結果,我想要一個數組:

Array ( [ID] => 7 [ItemWeaveType] => MC [ItemModel] => HV [Cost] => 10.00 [Price] => 15.00)

因此,我需要從表store_item_weavesstore_item_models加入數據。

這是我到目前為止的內容:

$query = $db->query("SELECT * FROM `store_stock` s 
left outer join `store_item_weaves` w on w.`ID`=s.`ItemWeaveType` 
left outer join `store_item_models` m on m.`ID`=s.`ItemModel`
where s.`ID`=7");

這將返回一個數組,如下所示:

Array ( [ID] => 7 [ItemWeaveType] => 3 [ItemModel] => 4 [Cost] => 10.00 [Price] => 15.00 [WeaveID] => MC [ModelID] => HV )

所以,我快到了。 而不是使用WeaveIDModelIDItemWeaveTypeItemModel ,而是將其添加到數組中。

有任何想法嗎?

使用列列表而不是*來確保獲得所需的值:

$query = $db->query("SELECT s.ID, w.WeaveId, m.ModelId, s.Cost, s.Price FROM `store_stock` s 
left outer join `store_item_weaves` w on w.`ID`=s.`ItemWeaveType` 
left outer join `store_item_models` m on m.`ID`=s.`ItemModel`
where s.`ID`=7");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM