0
我想通過一個rank
列做LEFT JOIN
然後排序我的顯示,也表明項目只有在qty
列大於0MySQL的左連接用WHERE和大於
SELECT
*
FROM `product`
LEFT JOIN `stock`
ON `product`.`product_id`=`stock`.`pid`
AND `qty` > 1
ORDER BY `product`.`rank` ASC
產品表
product_id
name
rank
price
表庫存
pid
price_sale
qty
Product Table
12, Pen, 2, 53.00
13, Pen, 1, 58.00
14, Pen, 3, 25.00
Stock Table
12, 10.00, 5
13, 18.00, 15
我的結果不顯示。
它應該顯示:
12, Pen, 2, 53.00, 12, 10.00, 5
13, Pen, 1, 58.00, 13, 18.00, 15
替換'和'INNER JOIN' LEFT JOIN' 。 –
SQL看起來應該起作用(但是沒有@ypercube的建議,它會爲庫存表列中的數量不大於1的行帶回空值)。什麼是列的數據類型? – Kickstart
您不需要在結果集中提供'stock'表,即'SELECT * FROM products,s LEFT JOIN stock as s ON s.qty> 0 [...]'。另外,ORDER BY只能用於你特別要求的字段(product.rank)。 –