Bonjour,
J'ai actuellement des petits problèmes de SQL ... hehe
Si quelqu'un savait ... ce serait cool ...
Voila :
3 bases : donnees, TableData et entreprises :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 CREATE TABLE "DONNEES" ( "ID" VARCHAR(15) NOT NULL, "NOM" VARCHAR(150), "CODEPOSTAL" VARCHAR(5), "VILLE" VARCHAR(150), "ANNEE" INTEGER NOT NULL, "CONSOL" INTEGER DEFAULT 0 NOT NULL, PRIMARY KEY ("ID", "ANNEE", "CONSOL") ); CREATE TABLE "ENTREPRISES" ( "ID" CHAR(16) NOT NULL, "ANNEE" NUMERIC(4, 0) NOT NULL, tout plein de valeurs (x70) "CONSOL" INTEGER DEFAULT 0 NOT NULL, PRIMARY KEY ("ID", "ANNEE", "CONSOL") ); CREATE TABLE "TABLEDATA" ( "ID" VARCHAR(15) NOT NULL, "NB" NUMERIC(18, 4), tout plein de valeurs (x>100) "..." NUMERIC(18, 4), "ANNEE" INTEGER NOT NULL, PRIMARY KEY ("ID", "CONSOL", "ANNEE") );
Quand je fais ces requêtes, ca fonctionne nickel :
Par contre, quand je fais les requêtes suivantes, cela mets trois ans :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT TableData.{FIELD1, FIELD2, ...}, donnees.{FIELD1, FIELD2, ...}, entreprises.{...} FROM donnees INNER JOIN TableData ON TableData."ID" = donnees."ID" AND TableData."CONSOL" = donnees."CONSOL" LEFT JOIN entreprises ON TableData."ID" = entreprises."ID" AND TableData."CONSOL" = entreprises."CONSOL" AND TableData."ANNEE" =entreprises."ANNEE" WHERE (( ( TableData."CONSOL" = '0')) AND (TableData."ANNEE"= '2002'));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT TableData.{FIELD1, FIELD2, ...}, donnees.{FIELD1, FIELD2, ...}, entreprises.{...} FROM donnees INNER JOIN TableData ON TableData."ID" = donnees."ID" AND TableData."CONSOL" = donnees."CONSOL" LEFT JOIN entreprises ON TableData."ID" = entreprises."ID" AND TableData."CONSOL" = entreprises."CONSOL" AND TableData."ANNEE" =entreprises."ANNEE" WHERE (( ( TableData."CONSOL" = '0') AND ( donnees."CODEPOSTAL" LIKE '45%') AND ( entreprises."COL5" >= '0.2') AND ( ( TableData."NB" >= '50000000') AND ( TableData."NB" <= '150000000'))) AND (TableData."ANNEE"= '2002'));
Qeulqu'un aurait une solution ?
S'il vous plait !
Edité par Barbibulle : Ajout des balises [ code ] et [ /code ]
Partager