/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MySQL 5] Join
Fra : Jesper Nielsen


Dato : 03-06-07 15:41

Hejsa,

Jeg er ved at lære PHP, og laver som mit første projekt en applikation
til at organisere musik.

I applikationen skal der naturligvis være en list over de albums jeg
har, og herunder en liste over tracks på de enkelte albums.

Ud over dette skal jeg have indbygget en playlist funktion. På listen
over tracks skal der være mulighed for, at kunne tilføje/fjerne et track
fra den playlist, som man redigerer for tiden. Altså skal resultatet af
den SQL query, som jeg ikke helt kan gennemskue, se således ud:

Track # | Track Name | Duration | Playlist Options
1. | Track 1 | 4m 22 s | Add / Remove
osv.


Queryen skal returnere et felt (f.eks. is_in_current_playlist,) hvis
værdi er 1 hvis det aktuelle track er i playlisten, 0 hvis det ikke er.

De relevante tabller ser således ud:

mysql> desc tracks_list;
+----------------+---------------------+------+-----+-------------------
| Field | Type | Null | Key | Default |
+----------------+---------------------+------+-----+-------------------
| track_id | bigint(20) unsigned | NO | PRI | NULL
| cd_id | bigint(20) | NO | | NULL
| track_number | tinyint(4) | NO | |
NULL | track_name | varchar(255) | NO | |
NULL | track_duration | smallint(6) | NO | |
NULL | track_file | varchar(255) | YES | |
NULL | date_added | timestamp | YES | |
CURRENT_TIMESTAMP
+----------------+---------------------+------+-----+-------------------

mysql> desc playlist_list;
+----------------------+---------------------+------+-----+---------+
| Field | Type | Null | Key | Default
+----------------------+---------------------+------+-----+---------+
| playlist_id | bigint(20) unsigned | NO | PRI | NULL |
| user_id | bigint(20) unsigned | NO | | NULL |
| playlist_name | varchar(255) | NO |
| NULL | | playlist_description | text
| YES | | NULL |
+----------------------+---------------------+------+-----+---------+

mysql> desc playlist_tracks;
+-------------+------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------------+------------+------+-----+---------+
| pl_track_id | bigint(20) | NO | PRI | NULL |
| playlist_id | bigint(20) | NO | | NULL |
| track_id | bigint(20) | NO | | NULL |
+-------------+------------+------+-----+---------+


Nogen som kan hjælpe?
Håber jeg har udtrykt mig klart nok - ellers må I spørge.

På forhånd mange tak.


--
Mvh. Jesper

 
 
Kaj Julius (24-06-2007)
Kommentar
Fra : Kaj Julius


Dato : 24-06-07 03:04

Hvad med noget i retning af

SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
is_in_current_playlist
FROM track_lists tl
LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
ORDER BY tl.cd_id, tl.track_number






Michael Zedeler (24-06-2007)
Kommentar
Fra : Michael Zedeler


Dato : 24-06-07 09:07

Kaj Julius wrote:
> Hvad med noget i retning af
>
> SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
> is_in_current_playlist
> FROM track_lists tl
> LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
> WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
> ORDER BY tl.cd_id, tl.track_number

Der er 6 linier, 37 ord og 255 tegn. MD5-summen er
baa5fc95efe6a9c445c74f0205ed89ce.

Var det hvad du ville vide?

Mvh. Michael.

Kaj Julius (24-06-2007)
Kommentar
Fra : Kaj Julius


Dato : 24-06-07 12:38


"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:QCpfi.7$MP.0@news.get2net.dk...
> Kaj Julius wrote:
>> Hvad med noget i retning af
>>
>> SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
>> is_in_current_playlist
>> FROM track_lists tl
>> LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
>> WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
>> ORDER BY tl.cd_id, tl.track_number
>
> Der er 6 linier, 37 ord og 255 tegn. MD5-summen er
> baa5fc95efe6a9c445c74f0205ed89ce.
>
> Var det hvad du ville vide?
>
> Mvh. Michael.

??????



Michael Zedeler (24-06-2007)
Kommentar
Fra : Michael Zedeler


Dato : 24-06-07 22:44

Kaj Julius wrote:
> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
> news:QCpfi.7$MP.0@news.get2net.dk...
>> Kaj Julius wrote:
>>> Hvad med noget i retning af
>>>
>>> SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
>>> is_in_current_playlist
>>> FROM track_lists tl
>>> LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
>>> WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
>>> ORDER BY tl.cd_id, tl.track_number
>> Der er 6 linier, 37 ord og 255 tegn. MD5-summen er
>> baa5fc95efe6a9c445c74f0205ed89ce.
>>
>> Var det hvad du ville vide?
>
> ??????

Beklager, Kaj. Jeg tror ikke at stjernerne stod rigtigt, da jeg postede
ovenstående.

Mvh. Michael.

P.s. men ellers havde jeg selvfølgelig været glad, hvis du (ud over at
have korrekt references og "Re: " i din posting) også havde inkluderet
noget af spørgsmålet for at undgå klaphatte som mig.

Kaj Julius (26-06-2007)
Kommentar
Fra : Kaj Julius


Dato : 26-06-07 19:54


"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:sABfi.80$wr3.63@news.get2net.dk...
> Kaj Julius wrote:
>> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
>> news:QCpfi.7$MP.0@news.get2net.dk...
>>> Kaj Julius wrote:
>>>> Hvad med noget i retning af
>>>>
>>>> SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
>>>> is_in_current_playlist
>>>> FROM track_lists tl
>>>> LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
>>>> WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
>>>> ORDER BY tl.cd_id, tl.track_number
>>> Der er 6 linier, 37 ord og 255 tegn. MD5-summen er
>>> baa5fc95efe6a9c445c74f0205ed89ce.
>>>
>>> Var det hvad du ville vide?
>>
>> ??????
>
> Beklager, Kaj. Jeg tror ikke at stjernerne stod rigtigt, da jeg postede
> ovenstående.
>
> Mvh. Michael.
>
> P.s. men ellers havde jeg selvfølgelig været glad, hvis du (ud over at
> have korrekt references og "Re: " i din posting) også havde inkluderet
> noget af spørgsmålet for at undgå klaphatte som mig.

Nåja, så er det vel heller ikke værre.
Og du har ret, det burde jeg have gjort - især fordi der var gået så lang
tid siden spørgsmålet blev stillet. Så er det jo ikke alle news-servere, der
stadig har det liggende.



Kaj Julius (24-06-2007)
Kommentar
Fra : Kaj Julius


Dato : 24-06-07 12:47


"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:QCpfi.7$MP.0@news.get2net.dk...
> Kaj Julius wrote:
>> Hvad med noget i retning af
>>
>> SELECT tl.*, CASE WHEN pt.track_id IS NULL THEN 0 ELSE 1 END AS
>> is_in_current_playlist
>> FROM track_lists tl
>> LEFT JOIN playlist_tracks pt ON tl.track_id = pt.track_id
>> WHERE (pt.playlist_id = 25 OR pt.playlist_id IS NULL)
>> ORDER BY tl.cd_id, tl.track_number
>
> Der er 6 linier, 37 ord og 255 tegn. MD5-summen er
> baa5fc95efe6a9c445c74f0205ed89ce.
>
> Var det hvad du ville vide?
>
> Mvh. Michael.

???? Jeg svarede faktisk på et spørgsmål, som Jesper Nielsen stillede den
3.6.2007
http://groups.google.dk/group/dk.edb.database/browse_thread/thread/5bc0c3ff8d2e6175/0ea95a8cddb94242?lnk=st&q=%5BMySQL+5%5D+Join&rnum=1&hl=da#0ea95a8cddb94242

Jeg har bare ikke medtaget hele hans indlæg i mit svar.



Kristian Damm Jensen (26-06-2007)
Kommentar
Fra : Kristian Damm Jensen


Dato : 26-06-07 15:13

Kaj Julius wrote:
<snip>
> Jeg har bare ikke medtaget hele hans indlæg i mit svar.

Du har faktisk ikke medtaget *noget* af hans indlæg. Det gør det lidt svært
at se, hvad du svarer på. Ikke umuligt, man kan bare finde originalartiklen,
men lidt sværere.

--
Venlig hilsen /Best regards
Kristian Damm Jensen



Kaj Julius (26-06-2007)
Kommentar
Fra : Kaj Julius


Dato : 26-06-07 19:52


"Kristian Damm Jensen" <kristiandamm@yahoo.dk> skrev i en meddelelse
news:46812753$0$41521$edfadb0f@dread11.news.tele.dk...
> Kaj Julius wrote:
> <snip>
>> Jeg har bare ikke medtaget hele hans indlæg i mit svar.
>
> Du har faktisk ikke medtaget *noget* af hans indlæg. Det gør det lidt
> svært at se, hvad du svarer på. Ikke umuligt, man kan bare finde
> originalartiklen, men lidt sværere.
>
> --
> Venlig hilsen /Best regards
> Kristian Damm Jensen
>

Jeg kan godt se, at det kan gøre det lidt svært, hvis man ikke har
originalspørgsmålet i sin reader. Det havde jeg, og derfor tænkte jeg slet
over, at andre måske ikke havde det. Det er ikke alle news-servere der
beholder indlæggene så lang tid (fra den 3. til den 24. juni). Beklager...



Peter Brodersen (24-06-2007)
Kommentar
Fra : Peter Brodersen


Dato : 24-06-07 13:14

On Sun, 24 Jun 2007 10:07:01 +0200, Michael Zedeler
<michael@zedeler.dk> wrote:

>Var det hvad du ville vide?

References-headeren er din ven, hvis du er i tvivl en anden gang

--
- Peter Brodersen
Kendt fra Internet

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408182
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste