ugrás a tartalomhoz

JOIN: fájl-letöltés táblákra ott is, ahol nincs letöltés

Anonymous · 2006. Aug. 9. (Sze), 13.16
Hali!

Van két táblám:

files_download

|downid|fileid|userid|
|--------------------|
|  1   |  5   |  12  |
----------------------
|  2   |  5   |  3   |
----------------------
|  3   |  5   |  4   |
----------------------

files

|fileid|filename |filesrc   |uploaduser|active|
|---------------------------------------------|
|  5   |Track    | track.mp3|  23      |  1   |
-----------------------------------------------
|  6   |Track2   |track2.mp3|  15      |  1   |
-----------------------------------------------

stb..

Szeretném lekérdezni a fileokat, méghozzá a letöltés száma szerinti csökkenő sorrendben úgy, hogy kerüljenek bele azon file-ok is (0 letöltés számmal) amiket még nem töltöttek le egyáltalán. Próbálkoztam JOIN-okkal de nem azt kaptam amit szerettem volna. Tudtok esetleg segíteni? Valószynüleg nem bonyolult, de rajtam kifogott.

köszi
 
1

egy lehetséges ötletem

Anonymous · 2006. Aug. 9. (Sze), 14.23
SELECT DISTINCT(files.filename)
FROM files,files_download
WHERE files.fileid NOT IN (SELECT fileid FROM files_download)

virág voltam.
2

írd be az egyik hibás JOIN-odat

Táskai Zsolt · 2006. Aug. 9. (Sze), 14.29
mennie kell JOIN-nal, méghozzá a LEFT vagy a RIGHT változattal, olyan irányban, hogy belevegye a fájlokat mindenképp.
3

jooinos

breakline · 2006. Aug. 9. (Sze), 14.40
SELECT files.* , COUNT(downid) as DOWNLOAD
FROM files
LEFT JOIN files_download ON files_download.fileid = files.fileid
GROUP BY files.fileid

BL
4

kösz

Anonymous · 2006. Aug. 9. (Sze), 16.59
köszönöm a válaszokat, megoldódott!