MQL,PHP从两个表中选择全部?

时间:2016-06-02 09:28:43

标签: php mysql

所以我有两张桌子:

order_product

--------------------------------------------------
| ProductID     | Quantity         
--------------------------------------------------

products

-------------------------------------------------------------
| ProductID     | productname | Desc | Price | Stock | Image     
------------------------------------------------------------

我需要获得所有相同的产品ID,然后按价格显示其数量,并显示所有产品的总数。

我的问题是我试图显示一个显示列表中所有内容的结帐页面,但我如何将这两个表合并?此外,第一个表没有外键。

我最好在sql语句中使用它,例如:

$sql = 'SELECT...'

这会有用吗?

$sql = "SELECT * FROM order_products
UNION
SELECT * FROM products"

如果是这样,我怎么知道哪一行是哪一行?

我想要的输出是所有条目,现在看起来像这样:

ProductID     | Quantity   | Productname | Desc | Price | Stock | Image

5 个答案:

答案 0 :(得分:1)

您需要一个经典的JOIN子句:

   SELECT * 
     FROM products
LEFT JOIN order_products on products.ProductId = order_products.ProductId

答案 1 :(得分:0)

var z = [];
for(var i = 5; i > 0; i--){
    var th = "";
    for(var k = i - 1; k > 0; k--) {
        th += " ";
    }
    th += ("a");

    for(var j = 5 - i; j > 0; j--){
        th += ("a");
        for(var h = th.length; h > th.length - j; h--){
            th += ("a");
        }
    }
    console.log(th);
    z.push(th);
}

z.reverse();
for(a in z){
   console.log(z[a]);
}

答案 2 :(得分:0)

  

我的问题是我正在尝试显示一个显示的结帐页面   列表中的所有内容,但我如何组合这两个表?

您只需使用mysql { title : "please help me" comments : [{ text : "Now, go f**k yourself", date : "1 January 1970 00:00:00 UTC." }] } 来显示JOIN个项目。

您的表数据应该与我在演示中添加的一样。

请参阅SQL Fiddle Demo

cart

修改所需的输出

  

我想要的输出是所有条目,现在看起来像这样:
  ProductID |数量|产品名称|描述|价格|股票|图像

修改上述查询的SELECT o.id 'orderId', o.ProductID 'pid', SUM(o.Quantity) 'qty', p.productname 'product', p.`Price` 'price' FROM order_product o INNER JOIN products p ON p.`ProductID` = o.`ProductID` 部分SELECT

答案 3 :(得分:0)

不确定您希望得到的输出是什么,但您应该使用类似

的内容
SELECT o.ProductID, o.Quantity, p.Price, o.Quantity * p.Price
FROM order_product o
LEFT JOIN products p ON o.ProductID = p.ProductID

答案 4 :(得分:0)

使用内部联接。

Select * from order_products op INNER JOIN products p ON p.ProductID = op.ProductID;

w.r.t。根据您的需要,上述查询需要修改为: -

 "SELECT *,
         SUM(op.quantity * p.price) AS grandTotal
    FROM order_products op
    INNER JOIN PRODUCT p ON p.ProductID = op.ProductID WHERE p.ProductID =".$prodId(your php variable of product id);