Maison > base de données > tutoriel mysql > Comment récupérer les paramètres par défaut et spécifiques aux caractères à l'aide d'un LEFT JOIN ?

Comment récupérer les paramètres par défaut et spécifiques aux caractères à l'aide d'un LEFT JOIN ?

Susan Sarandon
Libérer: 2025-01-22 07:47:08
original
836 Les gens l'ont consulté

How to Retrieve Default and Character-Specific Settings Using a LEFT JOIN?

Récupération efficace des paramètres par défaut et spécifiques aux caractères avec LEFT JOIN

Cet exemple montre comment récupérer les paramètres par défaut et, le cas échéant, les remplacements spécifiques aux caractères à l'aide d'un LEFT JOIN. La requête d'origine n'a renvoyé que les paramètres spécifiques aux caractères, à l'exclusion des valeurs par défaut.

La clé pour récupérer les deux est de positionner correctement la clause WHERE. Au lieu de filtrer après la jointure, incorporez le filtre d'ID de personnage dans la condition de jointure :

<code class="language-sql">SELECT settings.*, character_settings.value
FROM settings
LEFT JOIN character_settings 
ON character_settings.setting_id = settings.id
AND character_settings.character_id = '1';</code>
Copier après la connexion

Cette requête révisée effectue un LEFT JOIN entre les tables settings et character_settings. La clause ON garantit que seuls les setting_id correspondants sont joints et restreint davantage la jointure aux enregistrements où character_id est « 1 ». Surtout, le LEFT JOIN garantit que toutes les lignes de la table settings sont incluses dans le résultat, même s'il n'y a aucune ligne correspondante dans character_settings.

L'ensemble de données résultant ressemblera à ceci :

<code class="language-php">array(
    0 => array('somekey' => 'keyname', 'value' => 'thevalue'), // Default + Character-specific (if exists)
    1 => array('somekey2' => 'keyname2', 'value' => null), // Default only
    2 => array('somekey3' => 'keyname3', 'value' => null)  // Default only
);</code>
Copier après la connexion

Les lignes avec un value non nul indiquent à la fois les paramètres par défaut et spécifiques aux caractères. Les valeurs NULL dans la colonne value signifient que seul le paramètre par défaut existe pour cette clé particulière.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal