选择具有特定其他值的所有值

时间:2017-05-18 13:44:49

标签: mysql

我在mysql中有一个表,例如。

      --------------------------
Line  |  category  |  product  |
      ==========================
 1    |  1         |  500      |
 2    |  10        |  500      |
 3    |  1         |  510      |
 4    |  11        |  510      |
 5    |  2         |  520      |
 6    |  10        |  520      |
      --------------------------

现在我想知道是否可以从第2行和第4行中选择类别,因为它们在表格中也存在类别值1。

我尝试了一些像

这样的东西
select 
    max(categorie),
    product
from 
    products 
group by
    product

但这会带来所有结果。即使那些产品有2个类别的产品。

预期输出为:

| category |
|==========|
| 10       |
| 11       |
------------

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是自行加入表格,以便每个product与同一product的行匹配,其中{1}为category

select  t1.category
from    yourTable t1
join    yourTable t2
on      t1.product = t2.product and
        t1.category <> t2.category
where   t2.category = 1