Dédoublonner (LibreOffice.Base)

jcpmarius Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
jcpmarius Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

C'est une demande simple mais j'ai besoin de votre aide :

Voici ma base 2 tables.

T1

T1_ID T1_RECTO T1_VERSO
1 Chat Cat
2 Chien Dog
3 Rose Pink


T2

T2_ID T2_RECTO T2_VERSO
1 Vert Green
2 Boite Box
3 Rose Pink

Je voudrais faire une requête SQL qui m’édite T2.T2_ID, T2.T2_RECTO, T2.T2_VERSO après avoir vérifier qu'il n'y a pas de doublon T2.T2_RECTO" sur T2.T1_RECTO.

Ce qui me donnerai :

T2_ID T2_RECTO T2_VERSO
1 Vert Green
2 Boite Box

La valeur Rose se trouve déjà dans T1_RECTO, elle est donc retiré à l'édition.


J'utilise LibreOffice.Calc et LibreOffice.Base.
La base est constituée deux feuilles LibreOffice.Calc de quelques milliers de lignes, dans un même fichier, connecté via odbc sur LibreOffice.Base.

Je tourne autour de cette requête...

SELECT T1.T1_ID, T1.T1_RECTO, T1.T1_VERSO
FROM T1
LEFT JOIN T2
ON T1.T1_ID <> T2.T2_ID

Mais je me récupère ce message :

"LibreOffice Base
La requête ne peut pas être exécutée. Elle contient plus d'une table."

Voilà !

JC
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir, commençons par quelque-chose qui devrait fonctionner:
SELECT * 
FROM T1 , T2 
ON T1.T1_RECTO = T2.T2_RECTO
0
jcpmarius Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais... Même pas !
:-(

J'avais déjà testé :

SELECT *
FROM T1 , T2
ON T1.T1_RECTO = T2.T2_RECTO

SELECT "T1"."T1_ID", "T1"."T1_RECTO", "T1"."T1_VERSO"
FROM T1 , T2
ON T1.T1_RECTO = T2.T2_RECTO

J'ai ce message d'erreur : "Erreur de syntaxe dans l'expression SQL"

JC
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
SELECT * 
FROM T1 , T2 
WHERE T1.T1_RECTO = T2.T2_RECTO
0
jcpmarius Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'ai compris que faire un requettage SQL d'une base dont les tables sont des feuilles Calc n'est possible que pour des sélections de colonne ou de ligne, pas pour faire un produit cartésien, jointure etc...
D’où ce message ""LibreOffice Base
La requête ne peut pas être exécutée. Elle contient plus d'une table."
Du coups j'ai fait une base avec des table "base" et les requêtes SQL fonctionnent.

Les erreurs de syntaxes ne me sont pas insurmontables.
Je suis en train de peaufiner la requête et quand ce sera fait, je la publierai.
Lidée étant de supprimer les lignes en double.



JC
0