Har 4 st tabeller:
Person
Tillfälle
Vaccin
koppling mellan vaccin och tillfälle
det jag vill att sql-frågan skall göra är att lista alla personer oavsett om de blivit vaccinerade eller ej, och även visa de vaccinationer som de personer som har vaccinerats har fått.
Som det är nu visas samtliga personer oberoende av om de är vaccinerade eller ej, men felet är att den gör exakt lika många poster till alla personer oberoende av vad de egentligen har vaccinerats för (detta gäller även de personer som ej är vaccinerade).
så förekommer det ex. 4 st olika typer av vaccinationer så har alla personerna 4 st poster.
Känns som om jag har fel typ av join. är det någon som kan lösa detta?
SELECT Users.UserId, Users.UserSurname, Users.UserLastname, Users.PersonNumber, Occasion.VaccineDate, Occasion.Comment, Vaccine.VaccineName, Signature.SignatureName
FROM Users
LEFT JOIN Company ON Company.CompanyId = Users.CompanyId
LEFT JOIN Occasion ON Occasion.UserId = Users.UserId
LEFT JOIN OccasionVaccine ON OccasionVaccine.OccasionId = OccasionVaccine.OccasionId
LEFT JOIN Vaccine ON Vaccine.VaccineId = OccasionVaccine.VaccineId
LEFT JOIN Signature ON Signature.SignatureId = Occasion.SignatureId
WHERE Users.CompanyId = 1
SELECT Users.UserId, Users.UserSurname, Users.UserLastname, Users.PersonNumber, Occasion.VaccineDate, Occasion.Comment, Vaccine.VaccineName, Signature.SignatureName
FROM Users
LEFT JOIN Company ON Company.CompanyId = Users.CompanyId
LEFT JOIN Occasion ON Occasion.UserId = Users.UserId
LEFT JOIN OccasionVaccine ON [b]Occasion[/b].OccasionId = OccasionVaccine.OccasionId
LEFT JOIN Vaccine ON Vaccine.VaccineId = OccasionVaccine.VaccineId
LEFT JOIN Signature ON Signature.SignatureId = Occasion.SignatureId
WHERE Users.CompanyId = 1
LarsG, har en följdfråga, handlar mer om asp, du kanske kan flytta tråden?
Undrar hur man får reslutatet av frågan att visas enligt följande mall:
Namn VaccinA VaccinB VaccinC Datum Sign
Pierre x x 2002-10-10 AF
x 2002-11-02 SD
Johan x 2002-06-20 AF
osv.....
vill alltså att alla vaccinationer som har samma datum representeras av en rad, dvs ett vaccinationstillfälle, och resp. vaccin som man fått med ett kryss. Personens namn skall endast synas en gång oberoende av antalet vaccinationstillfällen.
253 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c