MySQLMySQL, wie Kunden abfragen, aber überspringen, wenn Vorname und Nachname übereinstimmen
Stellen Sie sich eine Prepaid-Karte ausstellende Firma vor.
Ein Benutzer konnte sich viele Male anmelden.
Ein Benutzer kann viele Karten haben.
CREATE TABLE users (
id int primary key,
govid varchar(255),
firstname varchar(255),
lastname varchar(255),
address varchar(255)
);
CREATE TABLE card (
id int primary key,
cardnumber varchar(16),
balance int,
user_id integer
);
Möchten Sie eine Liste der Benutzer, dass
1.
2. haben mehr als 10 Karten
3. nur, wenn Vor- und Nachnamen passen nicht
Mein Versuch, die gleiche govid haben :
select u.govid, count(*)
from card c
join users u on u.id=c.user_id
/*join users u2 on u2.id=u.id and u2.firstname<>u.firstname and u2.lastname<>u.lastname ?*/
group by u.govid
having count(*)>10
Ich kann nicht herausfinden, wie man Anforderung # 3 einführt?
Haben Sie 'where..vorname! = U.lastname' vor der' group by' -Klausel hinzugefügt? – sgeddes
Ja, ich habe in dem obigen Versuch, es war in Kommentaren, war mir nicht sicher, ob das korrekt ist – davidjhp