Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Relationsproblem

Postades av 2001-08-07 09:53:00 - Roger Jarl, i forum access, Tråden har 11 Kommentarer och lästs av 1388 personer

Jag gör en databas med en tabell med filmer och en annan tabell med skådespelare. Jag vill med hjälp av relationer kunna lista alla skådespelare i en vald film. Jag vill även kunna göra tvärtom - lista alla filmer en skådespelare varit med i. Problemet är att jag inte vet hur man skapar sådana relationer. Hur gör man?


Svara

Sv: Relationsproblem

Postades av 2001-08-07 10:42:00 - Jan Eriksson

Eftersom det blir en relation som är många till många, dvs i en film kan det finnas många skådespelare och en skådespelare kan finnas i många filmer så ska du lägga en tabell mellan dina två tabeller som enbart fungerar som en relationstabell. Denna tabell ska ha ett fält med FilmID och ett fält med SkådespelarID.

Är du med?

/Janne




Svara

Sv: Relationsproblem

Postades av 2001-08-07 11:30:00 - Roger Jarl

Tack! Fungerar perfekt.


Svara

Sv: Relationsproblem

Postades av 2001-08-07 21:06:00 - Kjell Gustavssson

Hej!

Jag har likartat problem och tänkte hänga på med en följdfråga.

Om man nu vill lista alla filmer med alla skådespelarna så att listan ser ut så här:

Titanic Eva Rydberg
Titanic Nils Poppe
Titanic Anna-Lisa Eriksson
Hets Fred Astair
Hets Marilyn Monroe
osv..

Hur kan ett sådant sql-utryck se ut?
Om man dessutom vet att vissa filmer är tecknade och alltså inte har några skådespelare, men filmerna ska visas i listan i alla fall, hur påverkar det sql-uttrycket.

Kjell


Svara

Sv: Relationsproblem

Postades av 2001-08-08 09:40:00 - Christoffer Hedgate

SELECT m.Title, a.Name
FROM MoviesActors ma
RIGHT JOIN Movies m
ON ma.MovieId = m.MovieId
LEFT JOIN Actors a
ON ma.ActorId = a.ActorId


Svara

Sv: Relationsproblem

Postades av 2001-08-08 12:34:00 - Andreas Hillqvist

Jag skulle föreslå något sånt här:

SELECT Movies.MovieTitle, Actors.ActorName
FROM (Movies LEFT JOIN MoveActors ON Movies.MovieID = MoveActors.MovieID) LEFT JOIN Actors ON MoveActors.ActorID = Actors.ActorID;


Svara

Sv: Relationsproblem

Postades av 2001-08-08 19:33:00 - Kjell Gustavssson

Jag provade din variant Christoffer, men jag fick inte det att fungera. Har inte hunnit prova din variant än Andreas, men den verkar lovande.

Jag satt själv och knåpade ihop följande mastiga uttryck:

SELECT Movies.MovieTitle,
(SELECT Actors.ActorName FROM Actors
WHERE Actors.ActorID=MoveActors.ActorID) AS Moviestar
FROM Movies LEFT JOIN MoveActors
ON Movies.MovieID=MoveActors.MovieID

Denna variant fungerar, men om Andreas funkar är den nog att föredra. Om fler fält ska till, blir uttrycket mycket mindre.

Kjell


Svara

Sv: Relationsproblem

Postades av 2001-08-09 08:03:00 - Roger Jarl

Jag har testat Andreas förslag och det fungerar perfekt.


Svara

Sv: Relationsproblem

Postades av 2001-08-09 08:22:00 - Andreas Hillqvist

Man tackar för komplimangen. Men skulle nog inte säga perfekt. Ingen är ju ofelbar... :O)


Svara

Sv: Relationsproblem

Postades av 2001-08-09 08:59:00 - Christoffer Hedgate

Eeehh? Du gör ju precis samma som jag gör? Jag har bara vänt på ordningen av tabellerna och därav en RIGHT istället för en LEFT.


Svara

Sv: Relationsproblem

Postades av 2001-08-09 09:04:00 - Christoffer Hedgate

Vad var det som inte fungerade i min variant? Jag testade den med nedanstående tabellstruktur, och den fungerade utmärkt.

Movies
MovieId Title
1 Titanic
2 Hets
3 Ghost in the Shell

Actors
ActorId Name
1 Janne
2 Nisse
3 Sture
4 Leffe
5 Pelle

MoviesActors
MovieId ActorId
1 1
1 2
1 3
2 4
2 5


Svara

Sv: Relationsproblem

Postades av 2001-08-10 21:41:00 - Andreas Hillqvist

Har för mig att det är så att SQL motorn utför Paranteser först. Använder Därför Movies som grund tabell och gör en LEFT JOIN mot MoveActors.Resultatet av dett matchas sedan mot Actors. Vet ju inte om det här stämmer. Är ju inte jag som gjort SQL tolken eller databas motorn. Har för mig att Access kräver paranteser i vissa fall för att den skall veta i vilken ordning den ska hantera join utrycken.


Svara

Nyligen

  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 871
27 965
271 770
491
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies