我刚刚发布了一个与Mysql有关的问题,原来这是我的问题,我忘了添加一个字段。现在这个查询正在运行:
SELECT e.*, b.item_count FROM inventory e, inventory2 b
WHERE (e.sku_id = b.parent_id AND b.item_count > 0)
AND (e.item_name LIKE '%Cherry%' OR e.item_artist_name LIKE '%Cherry%'
OR e.item_description LIKE '%Cherry%' OR e.item_media LIKE '%Cherry%'
OR e.item_genre LIKE '%Cherry%' OR e.item_tags LIKE '%Cherry%')
这很有效,但是我不希望它复制结果, 现在我目前得到以下结果:
+--------+-----------------------------+------------------+
| sku_id | item_name | item_description |
+--------+-----------------------------+------------------+
| 1 | Cherry Blossoms | Description |
| 1 | Cherry Blossoms Description | Description |
| 46 | Wild Cherry | Description |
| 46 | Wild Cherry | Description |
| 1 | Cherry Blossoms Description | Description |
+--------+-----------------------------+------------------+
我想要以下输出:
+--------+-----------------------------+-------------------+
| sku_id | item_name | item_description |
+--------+-----------------------------+-------------------+
| 1 | Cherry Blossoms | Description |
| 46 | Wild Cherry | Description |
+--------+-----------------------------+-------------------+
答案 0 :(得分:0)
您应按ID分组:
...myQuery
GROUP BY e.sku_id
注意:不建议使用隐式联接,您应该使用TABLE1 INNER JOIN TABLE2 ON ...
等显式联接
答案 1 :(得分:-1)
你需要一个聚合函数来按函数使用group,所以使用聚合函数并使用group by子句。