2017-10-17 6 views
-2

J'ai importé la base de données d'accès MS à MySQL. Maintenant j'essaye d'extraire quelques données, mais mon manuscrit de MySQL ne peut pas le compléter, juste des types s'exécutant dans la boîte de message.Script MySQL en cours d'exécution sans résultats

Script édité, pour être plus compréhensible. Je pense que j'ai tout bien tapé, mais je ne peux pas extraire de données.

Ai-je commis une erreur critique ou un problème de base de données?

Merci d'avance.

SELECT 
    table1.fname, 
    table1.surname, 
    table1.ID, 
    table2.ID_stor, 
    table2.date1, 
    table2.date2, 
    table3.ind_code, 
    table3.dia, 
    table3.tret, 
    table4.op_name, 
    table4.side, 
    table4.protocol, 
    table4.op_date 
FROM table3 
    INNER JOIN table1 
    ON table1.ID = table3.ID 
    INNER JOIN gulejimas 
    ON table2.ID_stor = table3.ID_stor 
    INNER JOIN table4 
    ON table4.ID_stor = table3.ID_stor 
     WHERE table2.date1>='2007-01-01' And table2.date1<='2017-12-31'; 

Répondre

1

D'abord, vos noms de table n'ont aucun sens. En outre, s'il s'agit de la requête complète et qu'il n'y a pas de clause WHERE, vous avez effectivement créé une jointure croisée sur quatre tables. Si chaque table contient seulement 4 lignes, le résultat contiendra 4 x 4 x 4 x 4 = 256 lignes. Si chaque table contient 40 lignes, le résultat contiendra 2 560 000 lignes.

Pour corriger cela, cesser d'utiliser le , rejoindre et d'utiliser INNER JOIN appropriés s (ou LEFT JOIN s, le cas échéant) avec ON clauses.