簡體   English   中英

連接三個表並在一個查詢 SQL 中顯示值

[英]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.

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