14. januar 2002 - 20:06Der 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?)
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
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;
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...
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.
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.
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.