SkyMedlem sedan maj 200388 inlägg
Hej här är en sql fråga jag har gjort så långt jag kunnat men nu sedan går det åt pipan.
SELECT person.fnamn, person.enamn, arende.statusId, Count(arende.statusId) AS Antal
FROM person LEFT JOIN arende ON person.hl_kod = arende.hl_kod
GROUP BY person.fnamn, person.enamn, arende.statusId;
Det jag vill göra är att som nu så visas arende.statusId men istället för det vill jag ha själva namnet till statusId:et som ligger i en tabell som heter just status. Dvs jag vill ha åt status.status. Det jag fastnar på är hur jag en till join så att tabellen status kommer med.
Hoppas ni hängde med i min förklaring. Det är en access databas.
:birp
Tack på förhand
/Robert
PeeerMedlem sedan mars 20025 362 inlägg
SELECT person.fnamn, person.enamn, status.status, Count(arende.statusId) AS Antal
FROM person,status LEFT JOIN arende ON person.hl_kod = arende.hl_kod
where arende.statusId = status.statusid
GROUP BY person.fnamn, person.enamn, arende.statusId;
?
SkyMedlem sedan maj 200388 inlägg
ser ganska logiskt ut men jag får Syntax fel i JOIN-operation
PeeerMedlem sedan mars 20025 362 inlägg
Försök 2:
SELECT person.fnamn, person.enamn, status.status, Count(arende.statusId) AS Antal
FROM person LEFT JOIN arende ON person.hl_kod = arende.hl_kod
inner join status on arende.statusId = status.statusid
GROUP BY person.fnamn, person.enamn, arende.statusId;
?
SkyMedlem sedan maj 200388 inlägg
följande fel :)
Syntax fel (operator saknas) i frågeuttrycket 'ON person.hl_kod = arende.hl_kod inner join status on arende.statusId = status.statusid'.
@ndersMedlem sedan juni 200026 914 inlägg
Access fullkomligt avgudar parenteser, så prova att slänga parenteser runt det första joinvillkoret.
mvh
SkyMedlem sedan maj 200388 inlägg
Provat lite olika men får då fel.
Syntaxfel i FROM instruktion och även när jag flyttar dem lite annorlunda i JOIN-operation.
SkyMedlem sedan maj 200388 inlägg
Det här var ;( får den inte att funka.
Iaf skitsamma =)
Om jag vill ha ut följande:
Förnamn | Efternamn | AntalforStatus1| AntalforStatus2| AntalforStatus3 | antalforStatus4 osv
Jag har En tabell som heter Person, där fnamn och enamn finns. Relationen till arende är hl_kod.
Arende är min andra tabell där de olika ärendena finns. Sedan så har jag en tabell Status där bara statusID och namn finns. StatusId finns även så klart i arende tabellen. Hur skall jag göra för att få ut önskat resultat?
mvh Robert
@ndersMedlem sedan juni 200026 914 inlägg
Har du provat att använda Access för att bygga frågan? Då får du parenteser på rätt ställe.
Annars kan man ju försöka utan att använda join-uttryck:
SELECT person.fnamn, person.enamn, status.status, Count(arende.statusId) AS Antal
FROM person, arende, status WHERE person.hl_kod = arende.hl_kod
AND arende.statusId = status.statusid
GROUP BY person.fnamn, person.enamn, arende.statusId
(Jag har utgått ifrån SQL-frågan i Peeers inlägg).
Mvh
SkyMedlem sedan maj 200388 inlägg
Tack Anders den funkade bra. Men det är bara det att då får jag bara med om de har just haft något ärende med just den statusen och inte de övriga. Sedan så vet jag inte hur man gör för att göra left joins i access via att bygga den grafiskt.
@ndersMedlem sedan juni 200026 914 inlägg
Prova om operatorn *= stöds i access. *= blir left outer join om jag inte missminner mig.
Lek lite med frågeguiden i Access så lär du dig säkert. ;)
Jag använder inte access, så jag kan nog tyvärr inte hjälpa dig med mer Access-specifika ting.
Mvh
SkyMedlem sedan maj 200388 inlägg
Du har inte något tips på hur jag skall göra för den senare frågan jag gjorde. Åttonde inlägget.
Som jag tänker nu kommer jag göra att man gör alias av tabellen status 7 gånger för jag har sju olika statusId. men det känns inte speciellt smart alls.
LarsGMedlem sedan dec. 200012 465 inlägg
SELECT person.fnamn,
person.enamn,
status.status,
Count(arende.statusId) AS Antal
FROM (person LEFT JOIN arende
ON person.hl_kod = arende.hl_kod)
left join status
ON arende.statusId = status.statusid
GROUP BY person.fnamn, person.enamn, arende.statusId
=* och *= finns inte i Access.
SkyMedlem sedan maj 200388 inlägg
Tack LarsG för den fina sql satsen och förklaringen, men :) Nu blir det som så att det blir enbart tex
Pelle Nilson status1
Pelle nilson status3
Pelle nilson status4
Ingrid....osv
Dvs att det blir inte alla statusar
Pelle nilson status1
Pelle nilson status2
Pelle nilson status3
Pelle nilson status4
Pelle nilson status5
Hoppas du förstår vad jag menar.
/Robert