加入两个没有重复的表

时间:2015-06-07 07:05:03

标签: mysql database

我刚刚发布了一个与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       |
 +--------+-----------------------------+-------------------+

2 个答案:

答案 0 :(得分:0)

您应按ID分组:

 ...myQuery
 GROUP BY e.sku_id

注意:不建议使用隐式联接,您应该使用TABLE1 INNER JOIN TABLE2 ON ...等显式联接

答案 1 :(得分:-1)

你需要一个聚合函数来按函数使用group,所以使用聚合函数并使用group by子句。