Jeg har følgende: Tabel AAA indeholder AAA_Id'er Tabel B_gruppe indeholder B_Gruppe_Id og AAA_Id Tabel C indeholder C_Id og B_Gruppe_Id Tabel ca indeholder C_Id og AAA_Id
Hvordan laves en SP der ved et valg med C_Id og B_Gruppe_Id giver følgende resultat?
1. Alle AAA_Id'er skal altid vises 2. Hvis en ralation mellem B_Gruppe_Id og C_Id findes mærkeres denne i AAA_Id listen som valgt. 3. Hvis der ikke er en ralation mellem C_Id og B_Gruppe_Id skal resultatet være som punkt 1 - Altså hvis en C_Id findes men ikke har en B_Gruppe_Id på sig i tabel c. 4. Hvis en C_Id ikke findes skal resultatet være som punkt 1.
Jeg har prøvet at Join mig ud af det, men jeg kan bare ikke få det til lykkes.
Hmm.. er det ikke bare en OUTER JOIN til en C+B kombien? Men det her bliver rent gætteri, for jeg har heller ikke styr på, hvilke felter der er relationer mellem. Det synes jeg er ret "ufortalt".
SELECT AAA.*, CB.B_Gruppe_Id, CB_C_Id FROM AAA LEFT OUTER ( SELECT B_Gruppe.B_Gruppe_Id, B_Gruppe.AAA_Id, C.C_Id FROM B_gruppe INNER JOIN C ON C.B_Gruppe_Id = B_Gruppe.B_Gruppe_Id) AS CB ON CB.AAA_Id = AAA.AAA_Id
Eller med en lidt anden notation, som jeg personligt foretrækker:
WITH CB_Kombi AS ( SELECT B_Gruppe.B_GruppeId, B_Gruppe.AAA_Id, C.C_Id FROM B_gruppe INNER JOIN C ON C.B_Gruppe_Id = B_Gruppe.B_Gruppe_Id)
SELECT AAA.*, CB.B_Gruppe_Id, CB_C_Id FROM AAA LEFT OUTER JOIN CB_Kombi ON CB_Kombi.AAA_Id = AAA.AAA_Id
Hmm... men hvor passer din tabel CA ind? Totalt forvirrende.. Bedre tabelnavne ville også hjælpe, sammen med tabel/felt relationerne.
Nå, måske hjælper det alligevel lidt...
Synes godt om
Ny brugerNybegynder
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.