Abfrage zum Filtern von Benutzern nach benutzerdefinierten Anmeldefeldern

Keine der obigen Abfragen liefert Ihnen genau das, wonach Sie suchen. Ohne eine neue Abfrage zu schreiben, wäre der beste Ansatz, die erste von mir gepostete Abfrage mehrmals auszuführen. Führen Sie sie einmal für jedes Ihrer benutzerdefinierten Felder aus. Geben Sie den Namen des Feldes in die Eingabe field_name der Abfrage ein. Die Abfrage, auf die ich mich beziehe, ist diese:

--[params]
-- string :field_name

WITH ucf_name AS(
SELECT
CONCAT('user_field_', id) AS name
FROM user_fields
WHERE name = :field_name
)

SELECT
u.id AS user_id,
ucf.value
FROM users u
JOIN user_custom_fields ucf
ON ucf.user_id = u.id
WHERE ucf.name = (SELECT name FROM ucf_name)