J'ai deux tables:
Le premier appelé Catégories strong> avec 3 colonnes "Administrateurs, ID, Nom". P> administrators | id | name
1 | 23 | David
NULL | 28 | GLOBAL3
3 Réponses :
Je pense que vous voulez:
select c.*
from categories c
where c.administrators = 1 or
c.administrators is null;
Cette requête présente également d'autres administrateurs comme 2 | 24 | Jemmy
de vos échantillons de données et des résultats attendus, je pense que c'est la requête que vous souhaitez: voir le Démo .
Résultats: P> | administrators | id | name |
| -------------- | --- | ------ |
| 1 | 23 | David |
| | 28 | GLOBAL |
Ma sortie administrateurs | id | Nom 1 | 23 | David code>
@Davidboe Voir la démo de ma réponse.
désolé chèque mon édition, je veux masquer les noms globaux déjà désactivés dans la table des catégories handicapées
@Davidboe Le même code fonctionne pour votre nouvelle exigence. Vérifiez ma réponse modifiée.
Dans votre code, vous ajoutez des valeurs (' 1 ',' 25 '), ('2', '26'), ('2', '27'); code> parce que les administrateurs 1 ou 2 peuvent désactiver l'un des noms mondiaux
Dans mon code, j'utilise les échantillons de données de votre question et la requête renvoie votre sortie attendue. Parce que les administrateurs 1 ou 2 peuvent désactiver l'un des noms globaux i> Qu'est-ce que c'est? Avez-vous mentionné quelque chose comme ça dans votre question?
Ici, vous pouvez essayer la jointure extérieure gauche sans intersection: espère que cela fonctionnera. p> p>
@Eric i essayez
Sélectionnez c. * À partir de catégories C Où C.Administrateurs = 1 ou (C.Administrateurs est NULL et n'existe pas (SELECT 1 de DisableDcateGories D où d.Id = C.ID)); Code > Mais ne travaille pas@Davidboe Ce n'est pas ce que vous avez essayé. C'est le code de ma réponse, non?
@ forpas oui bien sûr, vous êtes sur le point de le résoudre bro :)
@Davidboe Vous avez changé 3 fois vos échantillons de données et vos résultats attendus et vous n'avez toujours pas expliqué la logique qui conduit à ces résultats. Pourquoi voulez-vous cette ligne:
null | 28 | Global3 code> dans les résultats?Les commentaires ne sont pas l'endroit à expliquer. Modifiez votre question et mettez-y tout si nécessaire pour clarifier.
@ forpas édité, s'il vous plaît résoudre mon probleme
Votre exigence n'est toujours pas claire après autant de modifications. Si vous ne pouvez pas expliquer ce que vous voulez réellement comment vous attendez-vous à obtenir une solution? J'ai demandé dans un commentaire précédent: Pourquoi voulez-vous cette ligne: NULL | 28 | Global3 dans les résultats? I> aussi pourquoi ne voulez-vous pas NULL | 27 | Global2?
Parce que les administrateurs 1 ont déjà ajouté 26 et 27 à DisabledCatégories B>
@Davidboe Voir ma réponse modifiée