mySQL SELECT FROM table WHERE ... UND ... UND ... UND

Ich habe eine Tabelle "Artikel" mit den Spalten und Daten:

article_id     title               body
1            This is the title   This is the body text
2            Another title       Another body text

Anderen Tabelle "Kategorie" mit den Spalten und Daten:

category_id    category
1              localnews
2              visible
3              first10

"Und eine Tabelle "Kategorien" mit den Spalten und Daten:

categories_id   article_id  category_id
1               1           1
2               1           2
3               1           3
4               2           1
5               2           3

WÄHLEN Sie die Zeile(N) WO Kategorien.category_id = 1 UND =2 UND =3

Ich bin mit:

SELECT articles.article_id, articles.title, articles.body, 
categories.article_id, categories.category_id 
FROM articles, categories 
WHERE articles.article_id = categories.article_id 
AND categories.article_id = 1 
AND categories.article_id = 2 
AND categories.article_id = 3 

aber es funktioniert nicht. Offensichtlich mySQL muss eine andere syntax.
Kann mir da jemand helfen?
Dank

  • Ihre Abfrage ist äquivalent zu "ich will ein rotes Auto, das eine Blaue Farbe und hat eine gelbe Farbe"
  • er ist auf der Suche nach Artikeln, die im alle 3 Kategorien
  • Der relationale operator, den Sie benötigen, division, im Volksmund als "der Lieferant liefert alle Teile". Überlegungen gehören, ob genaue Teilung oder die mit Rest und wie Sie zu behandeln und leer divisor.
  • Aus der Tabelle "Artikel" wählen Sie nur den ersten Eintrag, das gehört zu ALLEN drei "Kategorien", D. H. localnews, sichtbar und first10. Wie in der Tabelle gezeigt Kategorien der 'article_id' per = 1 category_id 1 und 2 und 3, während der zweite Artikel hat nicht die "sichtbar" - Kategorie, und ich will nicht, um es auszuwählen.
InformationsquelleAutor Kostas | 2011-11-09
Schreibe einen Kommentar