SELECT k1, k2, case when exists (select * from tblC
WHERE lngPK = tblA.lngPK AND blnReady) then 'Ja' else 'Nej'
end AS k3
FROM tblA
INNER JOIN tblB ON tblB.lngPK = tblA.lngPK
Även om jag inte exakt (hm) förstår vad du menar.
2 svar · 214 visningar · startad av Engine^
Jag har ett litet bekymmer med att få ut alla värden jag vill ha ur en tabell. För tillfället ser min fråga ut så här
SELECT k1, k2, (SELECT 'Ja' FROM tblC WHERE lngPK = tblA.lngPK AND blnReady) AS k3
FROM tblA
INNER JOIN tblB ON tblB.lngPK = tblA.lngPK
Tyvärr returnerar denna fråga bara resultat så länge min SELECT 'Ja' inte ger NULL. Går detta att komma undan på något sätt?
En lösning är att göra en LEFT JOIN med tblC istället för subselecten, men det ger mig osnygga dubletter som jag vill vara utan.
SELECT k1, k2, case when exists (select * from tblC
WHERE lngPK = tblA.lngPK AND blnReady) then 'Ja' else 'Nej'
end AS k3
FROM tblA
INNER JOIN tblB ON tblB.lngPK = tblA.lngPK
Även om jag inte exakt (hm) förstår vad du menar.
Jag borde förstås ha nämnt att jag kör detta i Access än så länge, så case fungerar väl inte.
Annars så verkar det vara nästan precis vad jag menade förutom 'Nej' som i mitt fall ska vara ''.
SELECT k1, k2, IIf((SELECT 1 FROM tblC WHERE lngPK = tblA.lngPK) IS NULL, '', 'Ja') AS k3
FROM tblA
INNER JOIN tblB ON tblB.lngPK = tblA.lngPK
Blir den tolkningen korrekt? Jag har för mig jag testade det innan jag gick från jobbet och blev en smula besviken.