Qu'est-ce que Sélectionnez "X"?
sSQL.Append(" SELECT 'X' ");
sSQL.Append(" FROM ProfileInsurancePlanYear ");
sSQL.Append(" WHERE ProfileID = " + profileid.ToString() + " AND CropYear = " + cropyear.ToString());
C'était une requête qui a été à l'origine de la frappe d'un accès back-end. J'ai déménagé à SQLCE et je suis perplexe sur ce que cette requête est censé faire.
La structure de la table, il frappe est:
ProfileID
InsurancePlanID
CropYear
INsurance_Price
Levels_XML
Je suis en supposant que ce serait sélectionnez quelque chose à partir de la Levels_XML colonne où l'profileid et cropyear match?
Ne ce même travail dans sqlCE?
OriginalL'auteur MissioDei | 2011-10-02
Vous devez vous connecter pour publier un commentaire.
Ce type de requête est généralement utilisé pour voir si une ligne existe. Si une ligne est trouvée, la requête renvoie un caractère unique, X. Sinon, il sera un jeu de résultats vide... on pourrait aussi dire que
Qui sera de retour à un résultat de 0 ou certains nombre positif. Différentes approches à la fois de poser la base de données simplement à indiquer si oui ou non tous les enregistrements existants correspondant à la condition.
Pointilleux, ne sommes-nous pas 🙂
Le COMTE pourrait être coûteux et est un mauvais exemple.
SELECT 1 WHERE EXISTS (..query here..)
serait mieux et contrôles pour 0 ou 1 lignesPour être complètement pédant, gbn, de la requête retourne un jeu de résultats vide si pas de lignes de satisfaire à la "requête" de la requête et retourne un jeu de résultats avec une ligne si il y a une ou plusieurs lignes qui satisfont la requête. SQL server est assez intelligent pour arrêter une fois qu'il trouve une ligne éligible et n'a pas besoin de matérialiser l'ensemble de la requête interne.
Je ne recommande pas de COUNT(*), je suis d'accord c'est pas le meilleur, mais je pense que c'est un peu plus clair pour expliquer ce qui est accompli par des "X".
OriginalL'auteur Sparky