Avatar billede thomashove Nybegynder
14. januar 2002 - 20:06 Der er 6 kommentarer og
1 løsning

SQL Problem

har 4 tabeller (Users,Call_id,Address,Aext_setup) hvor Call_id tabellen indeholder nøglerne fra de tre andre. Nu vil jeg gerne have en SQL sætning hvor man får alle de Users hvis nøgle er i Call_id (og dermed deres adresse osv...) dette klares ved :

SELECT DISTINCT Users.InternalID, Users.Name, Users.AccountValue, Aext_Setup.myCallNumber,Address.Adresse FROM Users,Call_ID,Aext_setup,Address WHERE (Call_ID.INTERNALID = Users.InternalID) AND (Aext_Setup.IDVID = Call_ID.IDVID) AND (Address.LejeMaalNr = Call_ID.LejeMaalNr)

Mit problem er nu at der findes Users hvis nøgle ikke er i Call_id og dem vil jeg også gerne have med i kørslen af SQL-sætningen. Hvordan gøres dette... (UNION måske?)
Avatar billede runesoft Nybegynder
14. januar 2002 - 22:17 #1
vha left join:
FROM Users LEFT JOIN Call_id ON Users.internalid=call_id.internalid
Avatar billede thomashove Nybegynder
14. januar 2002 - 22:59 #2
men hvordan er syntaksen hvis også parametrene fra Aext_Setup og Address skal med...???
Avatar billede proaccess Nybegynder
15. januar 2002 - 21:23 #3
Det kan være denne kan hjælpe dig:

SELECT DISTINCT Users.InternalID, Users.Name, Users.AccountValue, Aext_setup.MyCallNumber, Address.Adresse
FROM ((Call_ID RIGHT JOIN Users ON Call_ID.INTERNALID = Users.InternalID) LEFT JOIN Aext_setup ON Call_ID.IDVID = Aext_setup.IDVID) LEFT JOIN Address ON Call_ID.LejeMaalNr = Address.LejeMaalNr;
Avatar billede thomashove Nybegynder
15. januar 2002 - 21:59 #4
proacces -> Dit forslag nærmer sig en løsning - dog giver sætningen ingen resultater fra Aext_Setup tabellen dvs. at Aext_setup.Mycallnumber er tom. Adressen bliver fint nok hentet...
Avatar billede proaccess Nybegynder
15. januar 2002 - 22:16 #5
Du skal nok lege lidt med paranteserne... Udgangspunktet er:

Tag ALLE rækker fra Users, tag alle rækker fra Call_ID, som har en user i Users, og tag derefter alle rækker fra Address, som har en Call_ID, samt alle rækker fra Aext_setup, som har en Call_ID.
Avatar billede thomashove Nybegynder
15. januar 2002 - 22:17 #6
Ups - kæmpe brøler foretaget at undertegnede..Havde ikke set at du havde skrevet MyCallNumber (med stort M) mens det i min resterende kode håndteres med lille m.

60p til proaccess for sublim SQL håndtering ;o)
Avatar billede proaccess Nybegynder
15. januar 2002 - 22:20 #7
Takker ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester