我有一個數據庫表,看起來像這樣:只返回一行,如果結果是唯一
product_tag_id | tag_id | product_id
1 1 1
2 1 2
3 3 1
我有一些PHP的是正在運行在foreach循環查詢:
$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會爲我實現這個目標,但它似乎並不奏效。
你真的需要所有這些列嗎? – Ben
您可以添加更多樣本數據並提供您想要的最終結果。它是MySql和PHP嗎? –
@ben:你的意思是,我是否需要選擇所有這些列,還是我真的需要在我的數據庫結構中的所有3列? –