Attacher les base
Pour ouvrir plusieurs bases de données, il faut utiliser ATTACH
de la façon suivante :
ATTACH "fichier1.db" AS db1;
ATTACH "fichier2.db" AS db2;
Il y a une limite au nombre de bases que l’on peut ouvrir simultanément,
mais si besoin, on peut en fermer avec DETACH
avant d’en ouvrir de
nouvelles.
On suppose par la suite que les deux bases ont une table tbl
ayant la même
structure.
Union des lignes
On peut alors faire :
SELECT Nom
FROM (
SELECT * FROM db1.tbl
UNION
SELECT * FROM db2.tbl
)
WHERE ...
GROUP BY Nom
HAVING (SUM(Resultat = "failed")) > 0
ORDER BY Nom
;
- l’opération
UNION
permet d’avoir la liste des lignes des deux tables. Comme elles ont les mêmes colonnes, ça ne pose pas de problèmes ; - la clause
WHERE
permet éventuellement de ne garder que les lignes qui nous intéresse ; - on regroupe ensuite les lignes ayant le même
Nom
à l’aide deGROUP
. On peut regrouper sur les valeurs de plusieurs colonnes si besoin ; HAVING
permet d’exprimer une propriété sur les groupes à sélectionner. Ici, on sélectionne seulement des groupes qui ont au moins une valeurfailed
dans la colonne des résultats.- enfin
ORDER BY
permet de trier les résultats.
Fusion des lignes
On peut aussi préférer fusionner les lignes avec JOIN
:
SELECT f1.Nom, f1.Resultat as Resultat_1, f2.Resultat as Resultat_2
FROM (db1.tbl as f1 JOIN db2.tbl as f2
WHERE f1.Nom = f2.Nom)
;
Cette fois, on n’aura qu’une seule ligne par Nom
,
avec des colonnes provenant des deux tables.
Voir aussi :
Table des matières
Tags
ack
acronymes
analyse_statique
android
apt-get
awk
bash
bits
boot
c
checksum
coq
couleurs
css
csv
cut
dessin
diff
disque
docbook
docker
documentation
dokuwiki
dot
développement
fenêtres
firefox
frama-c
fstab
ftp
gcc
gestion_de_projet
gestion_de_version
git
graph
graphe
grep
grub
gzip
heredoc
htaccess-réseau
html
ide
ikiwiki
imagemagick
images
imprimer
ip
jenkins
js-of-ocaml
langage
latex
linux
make
mercurial
merlin
nvidia
ocaml
ocamlfind
ocamlgraph
orthographe
outil
parallel
path
pdf
perl
pgp
preuve_formelle
regexp
réseau
script
sed
sphinx
sqlite
ssh
sudo
svg
svn
syncbox
syntastic
systeme
système
tableurs
tcp-ip
texte
thunderbird
tikz
time
trac
txt2tags
ubuntu
unix
usb
utf-8
vim
virtualbox
virtualisation
vnc
web
windows
xfce
xkcd
xml
xmlstarlet
xmodmap
xsd
xslt
xubuntu
zcat
zenity
éditeur
émoticône
Dernières notes
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit