Clause Where utilisée dans la jointure gauche
P粉439804514
P粉439804514 2023-10-11 12:46:28
0
2
700

J'ai besoin de récupérer tous les paramètres par défaut du tableau des paramètres, mais également d'obtenir les paramètres des caractères si le caractère x est présent.

Mais cette requête ne récupère que les paramètres avec le caractère = 1, si l'utilisateur n'a rien défini, elle ne récupérera pas les paramètres par défaut.

SELECT `settings`.*, `character_settings`.`value`
FROM (`settings`)
LEFT JOIN `character_settings` 
ON `character_settings`.`setting_id` = `settings`.`id`
WHERE `character_settings`.`character_id` = '1'

Je devrais donc avoir besoin de quelque chose comme ceci :

array(
    '0' => array('somekey' => 'keyname', 'value' => 'thevalue'),
    '1' => array('somekey2' => 'keyname2'),
    '2' => array('somekey3' => 'keyname3')
)

Où les clés 1 et 2 sont les valeurs par défaut lorsque la clé 0 contient une valeur par défaut avec une valeur de caractère.

P粉439804514
P粉439804514

répondre à tous(2)
P粉585541766

Lors d'un OUTER JOIN (ANSI-89 ou ANSI-92), la position du filtre est importante car les conditions spécifiées dans la clause ON sont appliquées avant d'effectuer le JOIN. ON 子句中指定的条件。 建立 JOIN 后将应用 WHERE 子句中提供的针对 OUTER JOINed 表的条件。这可能会产生非常不同的结果集。相比之下,如果在 ONWHEREUne fois le JOIN établi

les conditions fournies dans la clause WHERE pour la table OUTER JOINed seront appliquées. Cela peut produire des ensembles de résultats très différents. En revanche, cela n'a pas d'importance pour un INNER JOIN si vous fournissez la condition dans la clause ON ou WHERE - le résultat sera le même. 🎜
SELECT  s.*, 
          cs.`value`
     FROM SETTINGS s
LEFT JOIN CHARACTER_SETTINGS cs ON cs.setting_id = s.id
                               AND cs.character_id = 1
P粉957723124

where 子句会过滤掉 left join Ligne infructueuse. Déplacez-le vers la connexion :

SELECT  `settings`.*, `character_settings`.`value`
FROM    `settings`
LEFT JOIN 
       `character_settings` 
ON     `character_settings`.`setting_id` = `settings`.`id`
        AND `character_settings`.`character_id` = '1'
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal