Supportnet / Forum / Anwendungen(Java,C++...)
MySQL-Abfrage ->zählen
Frage
hallo,
ich brauche eine Abfrage auf eine MySql Datenbank wie folgt:
Wie viel Datensätze gibt es die den String '%xyz%' in tabelle1.spalteA haben UND gleichzeitig den String '%abc%' in tabelle2.spalteC?
Antwort 1 von stef12
nachtrag:
in beiden Tabellen gibt es die spalte id zur eindeutigen identifikation der datensätze. daher müsste die abfrage wie folgt aussehen:
Wie viel Datensätze gibt es die den String '%xyz%' in tabelle1.spalteA haben UND gleichzeitig den String '%abc%' in tabelle2.spalteC, bei denen die ID gleich ist?
in beiden Tabellen gibt es die spalte id zur eindeutigen identifikation der datensätze. daher müsste die abfrage wie folgt aussehen:
Wie viel Datensätze gibt es die den String '%xyz%' in tabelle1.spalteA haben UND gleichzeitig den String '%abc%' in tabelle2.spalteC, bei denen die ID gleich ist?
Antwort 2 von MixMax
SELECT count(tabelle1.id) FROM tabelle1 inner join tabelle2 on tabelle1.id=tabelle2.id where tabelle1.spalteA like '%xyz%' and tabelle2.spalteC like '%abc%';beachte das in Tabelle2 "ID" kein Autowert sein kann sondern da eine andere Spalte als Schlüsselwert existieren sollte. Ansonsten wäre es nur zufall wenn Tabelle1.id Tabell2.id entspricht.
Ich benutze ID daher immer als Schlüsselwert und wenn diese in anderen Tabellen referenziert wird, nenne ich die gleiche Spalte in der anderen Tabelle "refid" oder so.

