si j'ai une liste et un tableau:
length [5] (.q.except) [4] a except (select c from bb)
Et je fais ceci:
a except (select c from bb)
J'obtiens l'erreur suivante: p>
a:("12";"34";"56") bb:([]c:("90";"12";"65"))
Peut-être (sélectionnez c dans bb) est-ce toujours une table? Comment convertir une colonne en liste pour que l'instruction except fonctionne?
4 Réponses :
Essayez d'utiliser "exec", qui renverra la colonne comme liste.
a except bb`c
ou
a except exec c from bb
select
génère en effet une table. Si vous voulez que la sortie soit une liste, utilisez exec
:
q)a except exec c from bb "34" "56"
Les deux réponses sont parfaitement bonnes, mais personnellement je préfère t [`col]
a:("12";"34";"56"); bb:([]c:("90";"12";"65")); a except bb[`c]
Cela fonctionne également mieux si vous appelez dynamiquement
Une option:
q)a:("12";"34";"56") q)bb:([]c:("90";"12";"65")) q)([]c:a) except bb c ---- "34" "56"