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


Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 11:11:30 - Magnus Åhlin, i forum databaser, Tråden har 7 Kommentarer och lästs av 682 personer

Jag har 2 tabeller med 3 respektive 1 fält:

Prylar:
--------
Namn
Tillverkad_av
Godkänd_av

Personer:
-----------
Förnamn

Fälten: Tillverkad_av, Godkänd_av är sekundärnycklar som refererar till varsin person (som kan vara samma) i Person-tabellen.

Jag vill lista alla prylar och visa Namn, Tillverkad_av->Namn, Godkänd_av->Namn

Hur ser SQL-frågan ut?


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 11:21:06 - Pontus Wång

Du nämner inget om vilken databas du använder, det saknas också en information om vad primärnyckeln i personer heter, men men...

Select Pr.Namn, (Select Förnamn From Personer Where Pr.Tillverkad_av = Personer.primärnyckel) As Tillverkare, (Select Förnamn From Personer Where Pr.Godkänd_av = Personer.primärnyckel) As Godkännare From Prylar Pr

Det där (^^^^^) är ett sätt att göra på...


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 12:08:03 - Andreas Hillqvist

Om det är så att fältet förnamn finns i tabellen personer. Bör du lägga till en räknare som primärnyckel och länka mot den istället.
Exempel:

Personer
PersonId PersonFörNamn
1 Patrik
2 Åke
3 Nisse

Prylar
Namn Tillverkad_av Godkänd_av
Bil 1 2
TV 1 2
PC 2 3

I detta fallet är nog två Joins mer lämpligt.


SELECT Prylar.Namn, TP.Förnamn As Tillverkare, GP.Förnamn As Godkännare
FROM (Prylar LEFT JOIN Personer As TP ON Prylar.Tillverkad_av = TP.PersonId) LEFT JOIN Personer As GP ON Prylar.Godkänd_av = GP.PersonId


Svara

SELECT Help WHERE it_is_needed FROM Pellesoft AS fast AS Possible :o)

Postades av 2002-08-01 12:18:16 - Magnus Åhlin


tackar, precis vad jag behövde
Jo du har rätt, jag hade glömt primärnycklarna i mitt exempel

tack


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 12:21:22 - Magnus Åhlin

Tack anders oxå emn varför är det lämpligare med JOIN?
Var fick du TP & GP ifrån förresten?


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 13:22:54 - Andreas Hillqvist

Underfråger är ineffektiva. Efersom databas motorn slår upp dem för varje post. Med en join jör det en jämförelse mellan indexen i en operation. Därför blir en Join mindre resurskrävande och snabbare.

Eftersom jag använder samma tabell två gånger i from satsen ger jag dem olika alias:

Personer As TP
Personer As GP


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-01 21:15:14 - Per Ghosh

Använd aldrig beskrivande fält som nycklar i en tabell. En nyckel i en tabell skall vara skild från att beskriva information som tabellen innehåller. Nyckeln bör leva "sitt eget liv". Vad händer om du har flera personer med samma namn ?


http://www.gorep.se/selection/selection_download.htm


Svara

Sv: Dubbla sekundärnycklar till samma tabell

Postades av 2002-08-02 08:13:09 - Magnus Åhlin

ehhh...
Det är inte heller någon som har tänkt använda nårga beskrivande fält som nycklar. Hade du läst resten av inläggen hade det klarnat för dig. Men tackar för omtanken i alla fall


Svara

Nyligen

  • 17:03 Getmancar your go-to carsharing
  • 14:07 Games
  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI

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 986
27 965
271 785
711
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