Avatar billede supermand69 Nybegynder
09. november 2005 - 23:21 Der er 1 kommentar og
1 løsning

count i query med 2 joins

Hej..

Jeg har en query som egentlig virker som den skal, men den ene af mine outer joins tæller den ikke korrekt

Jeg ved ikke om det er til at få et overblik over hvad det er jeg vil?

        SELECT path.*, COUNT(path2.path_up_crc32) AS subdirs, COUNT(file.path_crc32) AS files
        FROM ($DB.path path
        LEFT JOIN $DB.path path2 ON path2.path_up_crc32=path.crc32)
        LEFT JOIN $DB.file file ON file.path_crc32=path.crc32
        WHERE path.path_up_crc32='$crc32'
        GROUP BY path.crc32
        ORDER BY path.path

Det som den ikke tæller korrekt er 'files'.. Nogle gange tæller den rigtigt, men andre gange for højt eller slet ikke
Avatar billede kjulius Novice
10. november 2005 - 00:18 #1
Måske skulle du overveje at bruge en COUNT DISTINCT i stedet.

SELECT path.*,
    COUNT(DISTINCT path2.path_up_crc32) AS subdirs,
    COUNT(DISTINCT file.path_crc32) AS files
FROM ($DB.path path
LEFT JOIN $DB.path path2 ON path2.path_up_crc32=path.crc32)
LEFT JOIN $DB.file file ON file.path_crc32=path.crc32
WHERE path.path_up_crc32='$crc32'
GROUP BY path.crc32
ORDER BY path.path
Avatar billede supermand69 Nybegynder
27. december 2006 - 04:07 #2
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester