我有一个看起来像这样的数据库表:
product_tag_id | tag_id | product_id
1 1 1
2 1 2
3 3 1
我有一些在 foreach 循环中运行查询的 php:
$product_tags = [1,3];
foreach(product_tags as $tag) {
$q = $this->db->query("SELECT product.*, product_tags.* FROM product
INNER JOIN product_tags ON product_tags.product_id = product.product_id
WHERE product_tags.tag_id =" . $tag);
}
使用 1 作为 $tag 值的第一个查询拉入 product_id 1 和 2,使用 3 作为 $tag 的第二个查询再次拉入 product_id 1。
如果之前没有返回 product_id,我只希望查询返回一行。如果 product_id 是唯一的,我只想查看结果。有没有办法做到这一点?
我认为 DISTINCT 会为我实现这一点,但它似乎不起作用。