2017-05-18 2 views
0

Ich habe eine Tabelle in mysql wie z.Wählen Sie alle Werte aus, die auch mit einem bestimmten anderen Wert vorhanden sind

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

Jetzt wurde ich gefragt, ob sein mögliche Kategorie auszuwählen von der Linie 2 und 4, weil sie in der Tabelle auch 1 mit dem Kategoriewert vorhanden ist.

habe ich versucht, einige Sachen wie

select 
    max(categorie), 
    product 
from 
    products 
group by 
    product 

aber alle Ergebnisse bringt. sogar diejenigen, die ein Produkt haben, das 2 als Kategorie hat.

Erwarteter Ausgang ist:

| category | 
|==========| 
| 10  | 
| 11  | 
------------ 
+0

Bitte zeigen Sie uns die erwartete Ausgabe – DzNiT0

+0

Wie können Zeile 1,2 und 4 verwandt sind, haben sie keine Kategorie oder Produktwert gemeinsam, können Sie mehr ausarbeiten? – tom

+0

rate du liest meinen Beitrag falsch. Ich möchte nur Zeile 2 und 4, da beide Produkte einen Eintrag mit Kategorie 1 haben – Dwza

Antwort

1

Ich denke, der einfachste Weg, würde selbst den Tisch kam, so dass jeder product mit den Zeilen der gleichen product, die 1 haben abgestimmt wird als category

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