J'ai une table comme celle-ci-
La sortie attendue est -: p>
Je reçois le résultat exact avec cette requête -: p> mais je ne veux pas utiliser de fonction SQL dans ma requête , alors j'ai essayé celui-ci -: p> Utilisation de cette requête que je reçois -: p> Je sais que je fais une erreur très idiote quelque part, mais je suis coincé ici et maintenant pas. Aidez-moi s'il vous plaît si vous pouvez obtenir cette chose.
Merci d'avance :) p> p>
3 Réponses :
Comme je l'ai dit dans les commentaires, je ne peux voir aucun problème avec la requête que vous avez, autrement que vous utilisez une syntaxe ANSI-92: si, pour des raisons inconnues, vous ne doit pas utiliser nullif code> vous pouvez faire quelque chose d'étrange comme celui-ci; Mais je ne vois aucune raison pour laquelle vous voulez: p>
Si vous ne voulez pas utiliser de fonction, la clause de casse peut fonctionner pour vous ici -
SELECT a.city as source, CASE WHEN a.city = b.city THEN null ELSE b.city as destination FROM TABLENAME a CROSS JOIN TABLENAME b
Vous réalisez que cela est en fait identique à la version code> nullif code> droite? NULLIF CODE> est un cas de courte main
code> expression; Donc, il est en fait identique à la SQL de l'OP dans la question. Je ne dis pas que cela est donc "faux", mais il n'a aucun sens que c'est la réponse acceptée quand elle est en réalité (du point de vue du SGBM) exactement la même chose.
nullif code>
: "NULLIF est équivalent à une expression de cas recherchée dans laquelle les deux expressions sont égales et l'expression résultante est null." I>
Pourquoi ne pas utiliser Union tout code>?
select c.city, c2.cty
from cities c join
cities c2
on c.city <> c2.city
union all
select c.city, null
from cities c;
"Mais je ne veux utiliser aucune fonction SQL dans ma requête" i> pourquoi pas?
BCOZ Quelqu'un m'a demandé de le faire.
Et pourquoi vous ont-ils demandé de le faire? Est-ce une question d'entrevue? Pourquoi dit-ils que vous ne pouvez pas utiliser une fonction, quand il est clairement le bon choix ici.
Pas une question d'entretien, mon ami m'a demandé
Ensuite, je répondrais avec
nullif code> est la fonction correcte à utiliser ici. Éviter une fonction ne ferait que la requête plus complexe et éventuellement confondre l'utilisateur final. Je ne peux pas voir une bonne raison que votre ami est opposé à
nullif code>.
@Larnu je sais toutes ces choses que vous me dites, si vous savez ce que j'ai demandé pour la réponse.
J'ai, @ishubh; Mais cela semble une logique très étrange.
C'est une question terrible - comment puis-je faire cette chose, mais ne me dis pas aucune des façons de bonne manière i> de le faire, car ils sont "non autorisés" ...
@aaron d'abord, aucun corps ne vous a obligé à donner une réponse à ma question. Deuxièmement, je connaissais le meilleur moyen d'abord et j'ai mentionné que dans ma question "si tu peux voir". Mais j'avais des contraintes que je me suis demandé une façon délicate de le faire à un gars intelligent délicat "de façon définitivement pas à vous" d'accord