mysql价格比较,显示连接中的所有价格

Posted

技术标签:

【中文标题】mysql价格比较,显示连接中的所有价格【英文标题】:mysql price compare, show all prices in a join 【发布时间】:2015-04-11 20:56:21 【问题描述】:

我有一个名为 babyfoontestmysql 产品表,其中我的所有产品都按如下方式列出:

idnummer | ean | typenummer | merk

1        | 1111| Baby1      | Philips

2        | 2222| Baby2      | Alecto

我有一个名为 prijzen 的大价格表,所有价格来自不同的 webshops,如下所示:

idnummer | shopnaam | typenummer | price | eancode | producturl | categorie

1        | Amazon   | Baby1      | 9,99  | 1111    | www.test.nl| baby

2        | Amazon   | Baby2      | 19,99 | 2222    | www.test.nl| baby

3        | BCC      | Baby1      | 17,99 | 1111    | www.test.nl| baby

现在在我的结果页面上,我想显示5 的产品并进行价格比较。在我的产品表中,每个EAN 都是unique。我想将它与价格表中的所有EAN 数字匹配,并显示从minmax 的所有价格。我怎样才能做到这一点?

在上面的示例中,如果第一个产品在结果页面上,Baby1,我想显示(9,99 AND 17,99) 的价格,因为它们与EAN 匹配。

我有这个:

SELECT *
FROM babyfoontest
INNER JOIN prijzen
ON babyfoontest.ean = prijzen.eancode
LIMIT 0, 5

所以表格匹配,但现在我从prijzen 表格中只得到一个价格,我需要该产品的所有价格。我使用这个 foreach 循环:

$i = 1;
foreach ($data as $info) 
echo $i;
echo ' asd '.$info->typenummer.'<br>';
echo 'asd '.$info->producturl.'<br>';
echo 'asd '.$info->deeplink.'<br>';
echo 'asd '.$info->eancode.'<br><br>';
$i++;
  

请帮帮我!

谢谢!!

亲切的问候, 标记

【问题讨论】:

我在循环中看不到$info-&gt;price 【参考方案1】:

也许您想将价格连接在一起。像这样的:

SELECT b.ean, group_concat(p.price order by p.price) as prices
FROM babyfoontest b INNER JOIN
     prijzen p
     ON b.ean = p.eancode
GROUP BY b.ean
LIMIT 0, 5

【讨论】:

嗨,戈登,感谢您的回答。我已经尝试过了,但现在加载到页面需要很长时间。我还需要 prijzen 表中的价格、producturl 和 shopnaam,这样我就可以显示 5 种产品的带有徽标和深度链接的所有价格。这可能吗?非常感谢您帮助我!

以上是关于mysql价格比较,显示连接中的所有价格的主要内容,如果未能解决你的问题,请参考以下文章

mysql显示商店最便宜的产品价格

SQL 嵌套连接显示每个产品的当前价格并使用 MAX()

查询价格大于或等于"超级本"价格的商品,并且按价格降序排列

MySQL查找不同数量和价格的商品的总销售额

从 WooCommerce 管理员中的所有产品中删除销售价格

访问 MySQL 奇怪的价格字段