Je veux récupérer des noms de fichiers contenus dans la base de données
sqlite3 de F-Spot.
L'info est à cheval sur deux tables, la première contient des numéros de
photos et les numéros d'étiquettes associées :
CREATE TABLE photo_tags (
photo_id INTEGER,
tag_id INTEGER,
UNIQUE (photo_id, tag_id)
);
La deuxième contient les infos des photos :
CREATE TABLE photos (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
time INTEGER NOT NULL,
base_uri STRING NOT NULL,
filename STRING NOT NULL,
description TEXT NOT NULL,
roll_id INTEGER NOT NULL,
default_version_id INTEGER NOT NULL,
rating INTEGER NULL
);
Je veux récupérer le 'base_uri' et le 'filename' pour chaque photo ayant
l'étiquette (tag_id) 8
Quand je tape la commande suivante :
sqlite3 photos.db 'SELECT base_uri,filename FROM photos WHERE id =
(SELECT photo_id FROM photo_tags WHERE tag_id = 8);'
sqlite3 me retourne bien le 'base_uri' et le 'filename', mais il ne me
retourne qu'une seule ligne sur les 773 espérées alors que la
sous-requête me retourne bien les 773 ids de photos possédant l'étiquette 8.
J'ai essayé en rajoutant ALL après SELECT, mais rien de mieux
Une idée ?
--
Marc BERLIOUX
Le seul vrai travailleur est celui
qui ne craint pas de s'endormir à côté de son travail
pour bien lui montrer qu'il n'a pas peur de lui." Pierre Dac