webForumDet fria alternativet

ta ut artister från lista

Databaser & SQL

21 svar · 578 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

Jag har en fråga varför inte alla filmer kommer med..
jag har min databas upplagd nu för de som kan tänkas hjälpa mej.

i databasen så har jag "Fråga1" där jag vill att alla filmer skall listas.. och om filmen har en artist som finns i databasen så skall den visa denna artist..

Medlem sedan juni 20019 519 inlägg
#2

obs.. glömde filen..

Medlem sedan juni 200032 967 inlägg
#3

Du använder Inner join i frågan, därför kommer bara det som är representerat i båda tabellerna med.

Mvh,

Medlem sedan juni 20019 519 inlägg
#4

hur ska SQL frågan se ut då?

Medlem sedan juni 200032 967 inlägg
#5

Accessjoiner är inte min specialitet, men posta tabellbeskrivning och frågan så kan fler ta en titt.

Medlem sedan dec. 20003 887 inlägg
#6
SELECT Filmer.film_titel, artister.Arist
FROM Filmer LEFT OUTER JOIN artister ON Filmer.ID = artister.id;
Medlem sedan juni 20019 519 inlägg
#7

Engine^ skrev:

SELECT Filmer.film_titel, artister.Arist
FROM Filmer LEFT OUTER JOIN artister ON Filmer.ID = artister.id;

Denna fungera inte :( om jag har två artister som är med i samma film så skall båda raddas upp :(

Medlem sedan juni 20019 519 inlägg
#8

någon annan som kan?

Medlem sedan juni 200032 967 inlägg
#9

@nders skrev:

men posta tabellbeskrivning och frågan så kan fler ta en titt.

Medlem sedan dec. 20003 887 inlägg
#10

Kolla här... en morgontrött snabelanders? ;)

Medlem sedan juni 200032 967 inlägg
#11

Engine^: Alla har inte Access. Man får fler att hjälpa till om man inte tvingar folk att ladda hem, zippa upp och köra program...

Så menar jag. (jag är skyldig till två av nedladdningarna av zip-filen).

Man skall förenkla så mycket som möjligt för hjälparna, det är min poäng.

Mvh

Medlem sedan dec. 20003 887 inlägg
#12

Ok, då är jag med dig.

DBMS: Access 97

artister
---------
id : PK, AutoNumber
Arist : Text (gissar på en felstavning här ;))

Filmer
--------
ID : PK, AutoNumber
film_titel : Text
langd : Long
genre : Long
ar : Long
Region : Long
Hemma : Yes/No
Till_vem : Text

Genre
-------
id : PK, AutoNumber --> Filmer.genre (1 - M)
genre : Text

relation_film
---------------
artist_id : Long --> artister.id (M-1)
film_id : Long --> Filmer.ID (M-1)

Fråga1:

SELECT Filmer.film_titel, artister.Arist
FROM (genre
INNER JOIN Filmer
  ON genre.id = Filmer.genre)
INNER JOIN (artister
  INNER JOIN relation_film
    ON artister.id = relation_film.artist_id)
  ON Filmer.ID = relation_film.film_id;
Medlem sedan juni 20019 519 inlägg
#13

Sitter här fortfarande utan en lösning :(

Medlem sedan juni 20019 519 inlägg
#14

Går detta ens att lösa?

Medlem sedan juni 20019 519 inlägg
#15

snart ger jag upp :( och Access fungera inte allt för bra (kan inte få hjälp) :(

Medlem sedan juni 200032 967 inlägg
#16

Så här såg originalfrågan ut:

SELECT Filmer.film_titel, artister.Arist
FROM [b](genre
INNER JOIN Filmer
  ON genre.id = Filmer.genre)[/b]
INNER JOIN (artister
  INNER JOIN relation_film
    ON artister.id = relation_film.artist_id)
  ON Filmer.ID = relation_film.film_id;

Så här ser omskriven (fungerande?) fråga ut:

SELECT Filmer.film_titel, artister.Arist
FROM (artister RIGHT OUTER JOIN relation_film ON artister.id = relation_film.artist_id) RIGHT OUTER JOIN Filmer ON Filmer.ID = relation_film.film_id;

Förklara också för mig varför du hade med den fetmarkerade joinen i originalfrågan, för det kan jag inte förstå. Du använder ju ingenting från tabellen genre. Är det så att du bara vill ha träff på filmer som har en definierad genre?

Mvh

Medlem sedan juni 20019 519 inlägg
#17

jag har typ:
Die Hard
och Genret är 1
och ID = action i Genre...

SQL satsen stämmer nu med tack!

Medlem sedan juni 20019 519 inlägg
#18

Fixat lite men har en sista problem:
SQL Satsen:

SELECT Filmer.ID, Filmer.film_titel, artister.Arist, Filmer.ar, Filmer.region, Filmer.langd, Filmer.hemma, Filmer.Till_vem
FROM (artister RIGHT JOIN relation_film ON artister.id = relation_film.artist_id) RIGHT JOIN Filmer ON Filmer.ID = relation_film.film_id;

Nu får jag ut allt utom Genre..

Medlem sedan juni 200032 967 inlägg
#19

Med tillägg till din senaste fråga:

SELECT Filmer.ID, Filmer.film_titel, artister.Arist, Filmer.ar, Filmer.region, Filmer.langd, Filmer.hemma, Filmer.Till_vem, [b]genre.genre[/b]
FROM ((artister RIGHT JOIN relation_film ON artister.id = relation_film.artist_id) RIGHT JOIN Filmer ON Filmer.ID = relation_film.film_id) [b]INNER JOIN genre ON filmer.genre=genre.id[/b]

mvh

Medlem sedan juni 20019 519 inlägg
#20

Var ett tag sen... ville bara berätta att det fungera :e

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)