混合2查询显示独特的优惠券PHP/MySql


Mixing 2 queries to display unique coupons PHP/MySql

我有这两个表,我试图编写最有效的查询来输出每个制造商的不同优惠券:

Manu Table
manu_id    manu_name
   1        Fujitsu 
   2           HP
   3        Brother
Products Table
prod_id    manu_id    prod_type   prod_coupon_img
    1         2          A4            1.jpg
    2         2         paper          1.jpg
    3         2         boxes          2.jpg
    4         3          ink           3.jpg
这个查询:

$sql = mysql_query("SELECT m.manu_id, p.prod_id, p.prod_type, p.prod_coupon_img
                    FROM manu m INNER JOIN products p 
                    WHERE m.manu_id=2 AND m.manu_id=p.manu_id");

输出:

prod_id    manu_id    prod_type  prod_coupon_img
    1         2          A4           1.jpg
    2         2         paper         1.jpg
    3         2         boxes         2.jpg

和这个查询:

$sqlDistinctCoupons = mysql_query("SELECT DISTINCT m.manu_id, p.prod_coupon_img 
                                   FROM manu m INNER JOIN products p 
                                   WHERE m.manu_id=2 AND m.manu_id=p.manu_id");

输出:

manu_id    prod_coupon_img
   2            1.jpg
   2            2.jpg

我现在想做的是展示惠普提供的独特优惠券,所以一个是(A4 &纸)和一个盒子。下面是我输出的代码:

$DistinctCoupons .=   'Showing coupon for $row["prod_type"] products <img id="$row["prod_id"]" src="$row["prod_coupon_img"]" />';

我怎么能做到这一点,我怎么能把两个查询混合到一个,输出不同的优惠券?我尝试了2 while循环,但没有工作,我一直在阅读,你不应该使用2 while循环对db调用无论如何,因为它把很多不必要的压力。什么好主意吗?

$manu_name = mysql_real_escape_string($_POST['manu_name']);
$query = "SELECT p2.prod_type, p2.prod_id, p2.prod_coupon_img
FROM products p2 
WHERE p2.id IN (
  SELECT Min(p.id)
  FROM products p 
  INNER JOIN manu m ON (m.manu_id = p.manu_id)
  WHERE m.manu_name = '$manu_name'
  GROUP BY prod_coupon_img) ";