Jag ska hämta data från två tabeller i SQL och flytta över till Excel. Vilken data som skall hämtas är beroende av vilken månad som är och jag vill därför använda mig av parametrar som är möjligt att ändra direkt i Excel. Frågan jag använder mig av nu fungerar endast om jag inte använder mig av parametrar.
Frågan nu:
select namn, pers
from TABELL1 where ar='2008' and namn not in
(select TABELL2 from pkin where ar='2008' and man='04')
Om jag nu sätter man och ar till =? får jag en feltext. Beror detta på att frågan är nästlad? Någon som har en bättre formulering av frågan så att den inte behöver vara nästlad?
Jag misstänker att detta kan bero på att min "underfråga" (där jag även vill ha en parameter, vars värde jag bestämmer i excel) ställs mot en tabell som inte tas fram?
Om du vill testa utan subselect så kan man skriva om din fråga enligt
select tabell1.namn, tabell1.pers
from tabell1
left join tabell2 on tabell1.namn = tabell1.pkin
and tabell2.ar = '2008'
and tabell2.man = '04'
where tabell1.ar='2008'
and tabell2.pkin is null
Hur kan man se vilken DBMS man kör?
Du vet väl om du använder Access eller Oracle eller DB2 eller Informix eller Postgres eller ...
Denna fråga fungerar inte eftersom det inte finns några rader med värdet "null". De namn som finns i tabell1 har aldrig kommit till tabell2 och har inte ens värdet "null".
Det jag vill åt är alltså
tabell1.namn - tabell2.namn = namn som inte inkommit till tabell 2. Och jag vill visa ett urval av kolumner från tabell1.
jag skulle tro att det är access som är databashantaren.
*när jag körde frågan som du skrev ovan så fick jag inga rader, jag antar att detta beror på att det inte finns några rader för kolumnen namn med värdet noll i tabell 2.
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25