[英]Grab data from multiple tables using Left Outer Join - PDO
我正在嘗試使用LEFT OUTER JOIN連接到3個表。 我不確定我是否正確執行此操作。
表格是:費率,國家和服務類型
查詢:
$sql = "SELECT rates.rate_id, rates.initial_change, service_types.service, countries.country
FROM rates
LEFT OUTER JOIN service_types ON rates.service_id = service_types.serviceType_id
LEFT OUTER JOIN countries ON rates.from_id = country.country_id
LEFT OUTER JOIN countries ON rates.to_id = country.country_id
ORDER BY service_types.serviceType_id ASC";
$statement = $con_db->exec($sql);
$result = $statement->fetchAll();//error points to this line
這是錯誤消息:
致命錯誤 :在非對象中調用成員函數fetchAll()
我注意到的一件事是您訪問表的方式不正確。 我猜SQL是無效的,它從exec
返回null。 嘗試將查詢更改為此:
$sql = "SELECT rates.rate_id, rates.initial_change, service_types.service, countries1.country, countries2.country
FROM rates
LEFT OUTER JOIN service_types ON rates.service_id = service_types.serviceType_id
LEFT OUTER JOIN countries as countries1 ON rates.from_id = countries1.country_id
LEFT OUTER JOIN countries as countries2 ON rates.to_id = countries2.country_id
ORDER BY service_types.serviceType_id ASC";
請注意,在聯接條件中,將國家/地區更改為country1和country2,並在選擇中更改了列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.