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


join med sig själv?

Postades av 2000-10-24 09:40:00 - Lena Lundin, i forum databaser, Tråden har 5 Kommentarer och lästs av 951 personer

Hej!

Här kommer veckans konstigaste (?) fråga..

Jag har en tabell som används till flera sorters nummer, vi kan säga telefonnummer och personnummer.

I en datagrid vill jag visa alla personer med personnummer, namn och telefonnummer. Går det?
Inga problem med första delen, personnr och namn:
select nrtyp.persnr,person.namn from person, inner join nrtyp on person.personid = nrtyp.personid where nrtyp_id = 'PNR'.

Fast sen vill jag ju ha med telefonnummret, som ligger i nrtyp tabellen med nrtyp_id = 'TELE'.

BÖR kanske tillägga att det är en left outer join, så det går ju bra,
select nrtyp.persnr,person.namn from person, inner join nrtyp on person.personid = nrtyp.personid left outer join nrtyp nrtyp1 on nrtyp.personid = nrtyp1.personid where nrtyp.nrtyp_id = 'PNR' and nrtyp1.nrtyp_id = 'TELE'.

Detta gör ju att den ändå inte tar med poster som har personnummer men inte telefonnummer,men jag vill ha med posterna ändå.


Svara

Sv: join med sig själv?

Postades av 2000-10-24 11:41:00 - Pelle Johansson

det låter som du designat din tabell felaktigt.

Du borde ha 2 tabeller
1. person (person_id)
id, förnamn, efternamn, personnr
2. telefon (person_id)
id, telefon (kan finnas fler telefon med samma id, ex bil, hem, arb osv)


Svara

Sv: join med sig själv?

Postades av 2000-10-24 11:56:00 - Lena Lundin

Det är inte jag som designat databasen, och jag kan inte göra något åt den. Man får jobba med den utrustning man fått sig tilldelad...


Svara

Sv: join med sig själv?

Postades av 2000-10-24 12:34:00 - Pelle Johansson

vad heter fältnamnet /tabellen där telefonnummer står, samt vad är det för databas, access, sql, oracle osv..


Svara

Sv: join med sig själv?

Postades av 2000-10-24 13:17:00 - Lena Lundin

Ja alltså.. *funderar på hur jag ska förklara bäst*

Det finns ju naturligtvis flera tabeller, men det är den här tabellen som används till massor med saker.

Den har bla
nrtyp_id (nyckel)
artikel_id(nyckel i massor med tabeller)
artikelnr (ej nyckel, kan finnas många med samma nummer)

I denna tabell samlas olika nr som finns för artiklar,
bla. personnummer, telefonnummer, skostorlket etc.etc.. kan vara vad som helst. Till detta finns en tabell med "accepterade" typer (se ovan) som är kodade i nrtyp_id ('TELE', 'SKO', 'PNR')

SEN ska jag visa innehållet i en annan tabell, med övrig artikelinfo, tex namn, adress.. OCH det artikelnr som finns för den artikeln med koden 'PNR' OCH OM DET FINNS: det artikelnr som finns för den artikeln med koden 'TELE'

Det är en hyfsat noggran beskrivning. Det är en sql-databas.

Problemet är just att det kan vara så att telenr inte finns, annars fungerar en outer join perfekt.

Men jag har iof börjat lösa det på annat sätt så det är ingen kris, men intressant om någon har någon idé...


Svara

Sv: join med sig själv?

Postades av 2000-10-24 19:51:00 - Pelle Johansson

Testa följande...

select * from ...
where ....
and ....
and ....
having nrtyp_id = "TELE"

Du kan även använda UNION kommandot - se kurser, för att fånga upp alla poster ur samma tabell oavsett om vissa värden inte finns i en av selectsatserna. Se detta exempel: http://www.4guysfromrolla.com/webtech/sqlguru/q080600-1.shtml

I SQL servern skall jag lära er ett tips som gör det lite enklare att läsa koden när man sätter (left/right joins) - se exemplet:

select a.artikelnr, b.artikelnamn, c.pris
from produkter a, artiklar b, priser c
where a.id *= b.id
and a.id =* c.id
having a.artikeltyp = "frukter"

Och för Oracle är det + tecknet som gäller.

/Pelle


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

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 613
27 958
271 741
2 507
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