0

表示優先度が最も高いグループを選択するのに問題があります。クエリは次のとおりです。

SELECT
    xf_user_group_relation.user_id, xf_user_field_value.field_value as custom_flags,
    xf_user_external_auth.provider_key,
    xf_user_group_relation.user_group_id,
    MAX( xf_user_group.display_style_priority ) AS display_style_priority,
    xf_user_group_relation.user_group_id IN(5,6,11,12) AS is_vip
FROM xf_user_group_relation
INNER JOIN xf_user_group
    ON xf_user_group_relation.user_group_id = xf_user_group.user_group_id
INNER JOIN xf_user_external_auth
    ON xf_user_group_relation.user_id = xf_user_external_auth.user_id
LEFT JOIN xf_user_field_value
    ON xf_user_group_relation.user_id = xf_user_field_value.user_id
    AND xf_user_field_value.field_id = 'gtarp_custom_flags'
WHERE
    xf_user_external_auth.provider = 'steam'
    AND xf_user_group.display_style_priority >= 1000
    AND xf_user_group_relation.user_group_id NOT IN(19,20)
GROUP BY
    xf_user_group_relation.user_id,
    xf_user_external_auth.provider_key

IDが最も小さいグループを選択しているようですが、これは私が望んでいることではありません。表示優先度が最も高いグループを選択してほしい。

したがって、user_group_idは、表示の優先度が最も高いグループである必要があります。MAX( xf_user_group.display_style_priority)

4

1 に答える 1

0

これを試して:

SELECT
    xf_user_group_relation.user_id, xf_user_field_value.field_value as custom_flags,
    xf_user_external_auth.provider_key,
    xf_user_group_relation.user_group_id,
    MAX( xf_user_group.display_style_priority ) AS display_style_priority,
    xf_user_group_relation.user_group_id IN(5,6,11,12) AS is_vip
FROM xf_user_group_relation
INNER JOIN xf_user_group
    ON xf_user_group_relation.user_group_id = xf_user_group.user_group_id
INNER JOIN xf_user_external_auth
    ON xf_user_group_relation.user_id = xf_user_external_auth.user_id
LEFT JOIN xf_user_field_value
    ON xf_user_group_relation.user_id = xf_user_field_value.user_id
    AND xf_user_field_value.field_id = 'gtarp_custom_flags'
WHERE
    xf_user_external_auth.provider = 'steam'
    AND xf_user_group.display_style_priority >= 1000
    AND xf_user_group_relation.user_group_id NOT IN(19,20)
GROUP BY
    xf_user_group.display_style_priority,
    xf_user_group_relation.user_id,
    xf_user_external_auth.provider_key
于 2012-08-06T22:59:20.680 に答える