webForumDet fria alternativet

Problem med ny sql

2 svar · 455 visningar · startad av saw

sawMedlem sedan mars 20011 883 inlägg
#1

JAg fick tidigare hjälp av er med:

SELECT 
t_person.personId,  t_person.namn  
FROM t_person 
WHERE t_person.arbetsLed =4
AND  
Exists(select * from  t_allautb 
inner join t_utb 
on t_allautb.utbid = t_utb.utbid
where 
t_allautb.personid = t_person.personid 
and 
t_utb.utb = 'Körkort' 
AND 
t_allaUtb.klar=true<>False )

Denna fråga bygger jag upp dynamiskt och fungerar bra.
Glömde skriva att jag använder mig av Access databas.
Hur det än är så missade jag en viktig sak personerna får inte vara i uppdrag.
Jag försöker så här

SELECT 
t_person.personId,  t_person.namn 
FROM 
t_person 
WHERE 
t_person.arbetsLed =4
AND 
 Exists(select * from  t_allautb 
inner join t_utb 
on t_allautb.utbid = t_utb.utbid
where 
t_allautb.personid = t_person.personid 
and t_utb.utb = 'Körkort' 
AND t_allaUtb.klar=true<>False )
AND NOT IN
(
SELECT 
t_uppPerson.personId, t_uppPerson.klar
FROM 
t_uppPerson
WHERE 
t_uppPerson.klar=No
)

Jag får ett error:
Syntaxfel (operator saknas)
Jag misstänker att jag har gjort något megafel i AND NOT IN... :q
Tacksam för all hjälp

sawMedlem sedan mars 20011 883 inlägg
#2

Jag har kommit en bit på vägen, men inte helt bra

SELECT 
t_person.personId,  t_person.namn  
FROM 
t_person 
WHERE 
t_person.arbetsLed =4
AND  
Exists
(select * from  t_allautb 
inner join 
t_utb 
on t_allautb.utbid = t_utb.utbid
where 
t_allautb.personid = t_person.personid 
and 
t_utb.utb = 'Körkort' 
AND 
t_allaUtb.klar=true<>False )
AND  
Exists
(
SELECT 
t_uppPerson.personId, 
t_uppPerson.klar
FROM 
t_uppPerson
WHERE 
t_uppPerson.klar=Yes
) ;

I t_uppPerson finns bl a fältet klar, den är till för att t ex kunna flytta på
personer. Bara för att testa så har jag en person klar och en inte klar,
men sql:en visar bägge personerna.
Någonting är inte helt bra... :OO

[REDIGERAT]
Försöker igen men med samma resultat

//jag börjar vid den sista delen
AND  
Exists
(
SELECT 
t_uppPerson.personId, t_uppPerson.klar
FROM 
t_person 
INNER JOIN 
t_uppPerson 
ON 
t_person.personId = t_uppPerson.personId
WHERE 
t_uppPerson.klar=Yes
) ;

Om en person är klar och den andra inte, så väljs likväl bägge två...

sawMedlem sedan mars 20011 883 inlägg
#3

JAg har klarat det, inte via sql utan filtrerat när jag laddar checkboxen

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb