我有2个表格。根据一个条件从两个表格中过滤数据
这是买表:
+--------+-----------------+---------------+
| id_buy | date | market |
+--------+-----------------+---------------+
| 6 | 2017-07-30 | Amazon |
| 7 | 2017-08-02 | Amazon |
| 17 | 2017-08-16 | Ebay |
| 18 | 2017-08-09 | Banggood |
| 19 | 2017-09-14 | Ebay |
+--------+-----------------+---------------+
,这是项目表:
+---------+----------------+-------------------------+
| id_item | id_buy | items |
+---------+----------------+-------------------------+
| 6 | 6 | Filter Oli OH |
| 7 | 6 | Filter Solar Halus OH |
| 8 | 6 | Switch Klakson 12/24 V |
| 9 | 6 | Kampas Rem 188 + Paku F |
| 10 | 7 | Kain Rem 188 |
| 11 | 7 | Kain Rem 200 |
| 23 | 17 | Kompresor Mesin |
| 24 | 18 | Silikon |
| 25 | 19 | Kompresor Mesin Ganda |
+---------+----------------+-------------------------+
我想根据市场领域来过滤买入和项目表,所以它可以显示类似的结果这样的:
如果我的市场筛选= '亚马逊':
+--------+-----------------+---------------+-------------------------+
| id_buy | date | market | items |
+--------+-----------------+---------------+-------------------------+
| 6 | 2017-07-30 | Amazon | Filter Oli OH |
| 6 | 2017-07-30 | Amazon | Filter Solar Halus OH |
| 6 | 2017-07-30 | Amazon | Switch Klakson 12/24 V |
| 6 | 2017-07-30 | Amazon | Kampas Rem 188 + Paku F |
| 7 | 2017-08-02 | Amazon | Kain Rem 188 |
| 7 | 2017-08-02 | Amazon | Kain Rem 200 |
+--------+-----------------+---------------+-------------------------+
如果我的市场筛选=“易趣”:
+--------+-----------------+---------------+-------------------------+
| id_buy | date | market | items |
+--------+-----------------+---------------+-------------------------+
| 17 | 2017-08-16 | Ebay | Kompresor Mesin |
| 19 | 2017-09-14 | Ebay | Kompresor Mesin Ganda |
+--------+-----------------+---------------+-------------------------+
,如果我符合市场=“Banggood”过滤:
+--------+-----------------+---------------+-------------------------+
| id_buy | date | market | items |
+--------+-----------------+---------------+-------------------------+
| 18 | 2017-08-09 | Banggood | Silikon |
+--------+-----------------+---------------+-------------------------+
这是我的示例查询显示的结果,但不是真的工作:
select buy.id_buy, buy.date, buy.market, item.items from buy, item where buy.id_buy in(17,19) and item.id_buy in(17,19);
,这是查询结果:
+--------+-----------------+-----------+-----------------------+
| id_buy | date | market | items |
+--------+-----------------+-----------+-----------------------+
| 17 | 2017-08-16 | Ebay | Kompresor Mesin |
| 19 | 2017-09-14 | Ebay | Kompresor Mesin |
| 17 | 2017-08-16 | Ebay | Kompresor Mesin Ganda |
| 19 | 2017-09-14 | Ebay | Kompresor Mesin Ganda |
+--------+-----------------+-----------+-----------------------+
我很困惑为什么结果是双倍的..
您需要GROUP BY和/或DISTINCT。这已被问过很多次。 –