J'ai donc les suivantes:Prendre requête T-SQL dans une autre requête et trouver des correspondances
SELECT
data,
encrypteddata,
CONVERT(varchar, DecryptByKey(encrypteddata)) AS 'decrypteddata'
FROM table
Compte tenu de la clé, il transmet la colonne de données d'origine, colonne de données chiffrées et de la colonne de données déchiffré comme une colonne de température. Tout bon.
Ce que j'ai essayé de faire est d'obtenir ce résultat, et juste faire une autre colonne AS et dire Match
avec vrai ou faux si c'est une correspondance ou non.
J'ai essayé
SELECT
data,
encrypteddata,
CONVERT(varchar, DecryptByKey(encrypteddata)) AS 'decrypteddata'
COUNT(distinct(decrypteddata))
FROM table
WHERE COUNT (distinct(decrypteddata)) > 1
GROUP BY data
Ce me donne une erreur lors de la première COUNT
sur la syntaxe.
Quelqu'un at-il une suggestion comment je pourrais le faire?
Serait-il suffisant de compter le champ encrypteddata à la place? Cela simplifierait un peu la requête, et il semblerait que cela donnerait le même résultat, en supposant que la fonction DecryptByKey soit déterministe. –
Il vous manque un seul ',' après le 'AS 'decrypteddata'' dans votre deuxième requête - c'est pourquoi vous obtenez une erreur de syntaxe. –
Vous devez TOUJOURS utiliser une longueur lors de la conversion/conversion de valeurs. Donc, utilisez quelque chose comme varchar (255), pour être sûr que votre conversion fonctionne correctement. –