Mysql Joins met 3 tabellen

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
Hoi,

Ik heb een database met 3 tabellen. (zie http://gathering.tweakers.net/forum/list_messages/284641/1?limit=100)

Nu wil ik graag alle songs weergeven plus de bijbehorende artiest en album.

Nu heb ik de volgende query gemaakt:
SELECT artists.Name AS artistname, albums.Album_ID, albums.Name AS albumname, songs.Song_ID, songs.Name
FROM artists, albums, songs
WHERE artists.Artist_ID = albums.Artist_ID AND albums.Artist_ID = songs.Artist_ID AND artists.Artist_ID = songs.Artist_ID
ORDER by Name
Maar op 1 of andere manier worden m'n tabellen totaal niet gelinkt. Ik krijg namelijk heel fijn al m'n songs 4x geprint.

Ik krijg de impressie dat:

WHERE tabel.veld maar voor max 2 tabellen werkt.

Weet iemand please hoe ik dit op kan lossen. Want ik wordt er onderhand een beetje depri van.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

en?

WHERE artists.Artist_ID = albums.Artist_ID AND artists.Artist_ID = songs.Artist_ID

?

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
Same shit different day.. ;(

Krijg weer een hele waslijst met songs 3x dubbel. Dus artist_ID wordt om vage redenen niet gejoined.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 07 oktober 2001 01:36 schreef DeathKnight het volgende:
Same shit different day.. ;(

Krijg weer een hele waslijst met songs 3x dubbel. Dus artist_ID wordt om vage redenen niet gejoined.
Ik denk dat je even goed moet kijken wat je precies wilt selecteren.

Waarschijnlijk wil je de songs juist niet op artist id koppelen...

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
ik wil alle die select gebruiken :)

ik wil alle songs printen, met bijbehorende artiest en bijbehorend album.

Ik heb nu deze query geprobeerd:

SELECT artists.Name AS artistname, albums.Album_ID, albums.Name AS albumname, songs.Song_ID, songs.Name
FROM artists, albums, songs
WHERE artists.Artist_ID = albums.Artist_ID AND songs.Album_ID = songs.Album_ID

Waarbij ik in gedachten had dat songs zich verbind dmv album_ID, maar nu krijg ik nog meer records te zien.

Vergeef me dat ik niet zo'n mysql expert ben, maar wat doe ik in vredesnaam fout?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 07 oktober 2001 01:49 schreef DeathKnight het volgende:
Vergeef me dat ik niet zo'n mysql expert ben, maar wat doe ik in vredesnaam fout?
Dit is 'gewoon' sql hoor ;)

niet perse mysql.

Maar beschrijf de output die je krijgt es?
En die je wilt hebben?

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
SELECT artists.Name AS artistname, albums.Album_ID, albums.Name AS albumname, songs.Song_ID, songs.Name
FROM artists, albums, songs
WHERE artists.Artist_ID = albums.Artist_ID
AND albums.Artist_ID = songs.Artist_ID
AND artists.Artist_ID = songs.Artist_ID
AND songs.Album_ID = songs.Album_ID

Werkt ook niet..

nu volg ik het echt niet meer.

Hoe selecteer je op een sporende manier laten we zeggen alle velden van 3 tabellen. en dan alle records?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
jaja ook goed :P

Maar uh, ik krijg dit soort output:

Wijzigen Verwijderen Dj Triesto 3 Magik 80 6 02 Rank16 - Scartman's world
Wijzigen Verwijderen Dj Triesto 4 Magik 81 6 02 Rank16 - Scartman's world
Wijzigen Verwijderen Dj Triesto 5 HOI 6 02 Rank16 - Scartman's world

Terwijl ik heb maar 1 keer wil hebben

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Wijzigen Verwijderen Dj Triesto 3 Magik 80 6 02 Rank16 - Scartman's world
Wijzigen Verwijderen Dj Triesto 4 Magik 81 6 02 Rank16 - Scartman's world
Wijzigen Verwijderen Dj Triesto 5 HOI 6 02 Rank16 - Scartman's world
wat zijn die stukjes dan?

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19-09 18:15

me1299

$ondertitel

Topicstarter
Ik heb de oplossing met dank aan ACM!

SELECT artists.Name AS artistname, albums.Album_ID, albums.Name AS albumname, songs.Song_ID, songs.Name
FROM artists, albums, songs
WHERE songs.Artist_ID = artists.Artist_ID AND songs.Album_ID = albums.Album_ID order by name

Nu werkt het perfect :Y)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen

Pagina: 1