Zählen von Datensätzen aus der Tabelle, die angezeigt wird, man aber nicht andere: MYSQL

Ich habe ein zwei einfache Tabellen

Benutzer

+----+--------+-----------+
| id | gender | birthdate |
+----+--------+-----------+

userpreference

+----+------------------+-----------------+
| id | preference value | preference type |
+----+------------------+-----------------+

Frage:

Ich Abfragen möchten alle Menschen, die noch nicht aufgelistet sind, bestimmte Präferenz-Wert wie 'Einkaufen'.Dies umfasst alle Menschen, die noch nicht aufgeführt Präferenz-Typen, so dass Spalte kann null sein, aber da userpreference die Spalte 'id' Referenzen-Nutzer als Fremdschlüssel, möchte ich auch meine, zählen alle Menschen, die nicht zeigen, bis in der zweiten Tabelle (user Präferenz)?

Gesamtanzahl der Menschen, die keinen Wert bevorzugt "shoppen", wie Ihre Vorliebe Wert:

Hier ist was ich versucht habe:

SELECT
(
SELECT COUNT(DISTINCT userpreference.id) FROM userpreference
WHERE  preferencevalue != 'shopping')
+
(
SELECT COUNT(users.id)
FROM users
WHERE users.id NOT IN
(SELECT userpreference.Id
FROM userpreference )
)
AS'Total'

InformationsquelleAutor Warz | 2011-03-04

Schreibe einen Kommentar