J'ai le TABLEAU A avec l'une des colonnes contenant une valeur unique et le TABLEAU B avec l'une des colonnes contenant la liste des valeurs correspondantes possibles.Liste générique de nombres après virgule et jointure sur une seule valeur
Mon code ne semble prendre que les premiers éléments de la liste, mais ne va pas plus loin dans une liste pour trouver le numéro correspondant.
Pouvez-vous s'il vous plaît me aider à améliorer le code suivant:
select Logs.SingleValue,
Instances.list from Logs,Instances
where Logs.Column1=Instances.DeviceNumber and
(',' + RTRIM(Instances.list) + ',') LIKE Logs.SingleValue
Les données de la liste ressemble
106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120
ou
3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360
J'utilise SQL withn R progrograming enviorment pas sûr quelle version c'est la météo MS SQL ou ORACLE. Tout ce que je sais que j'ai trouvé un cas similaire et la commande n'a pas fonctionné, donc il doit être à la main en langage SQL pur.
Merci à l'avance
Vos données CSV semblent contenir des espaces que votre expression 'LIKE' n'inclut pas. Mais à part cela, pourquoi stockez-vous vos données au format CSV en premier lieu? –
J'utilise CSV car je n'ai pas de base de données sur le serveur sur lequel je travaille. Cela prendrait du temps à mettre en place. Maintenant, je reviens dans l'espace. Je pense qu'ils sont dans une liste de valeurs. Maintenant, je mets (', _' + RTRIM (Instances.list) + ', _') LIKE Logs.SingleValue ligne à la place, mais il n'a pas changé le nombre de résultats – Dominic