上記のクエリのいずれも、あなたが探しているものを正確に提供しません。新しいクエリを作成せずに、最善のアプローチは、私が投稿した最初のクエリを複数回実行することです。カスタムフィールドごとに1回実行します。クエリのfield_name入力にフィールド名を入力します。私が参照しているクエリは次のとおりです。
--[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)