[英]Join three tables and show values in one query SQL
我正在處理一個購物車項目,我有三個表 - Orders - Ordersitems 和產品,我想在單個查詢中加入它們,但我不知道如何執行此操作,我想顯示所有三個表中的所有值,見與表的照片。 這是我迄今為止嘗試過的..
$sql = " SELECT o.*,
oi.pid,
oi.orderid,
oi.pquantity,
c.cid,
c.catname,
p.name,
p.description,
p.catid,
u.firstname,
u.lastname,
u.mobile,
u.email
FROM orders o,
orderitems oi,
products p,
usersmeta u,
category c
WHERE o.id = oi.orderid
AND oi.pid = p.id
AND o.uid = u.uid
AND p.catid = c.cid
ORDER BY o.id DESC";
這樣做的簡單方法是:
select o.*, oi.*, p.*, u.*
from orders o,
orderitems oi,
products p,
usersmeta u
where o.id = oi.orderid
and oi.pid = p.id
and o.uid = u.uid
order by o.id desc;
請記住,最好僅指定所需列的名稱,例如:
select o.id, u.firstname, u.lastname, p.id as productid etc...
如果您在其他地方需要相同的查詢,創建視圖可能是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.