webForumDet fria alternativet

LEFT JOIN och LIKE #2 (begränsa joinen?)

Databaser & SQLur Databashanterare & SQL

2 svar · 265 visningar · startad av Pikkenix

Medlem sedan mars 2003116 inlägg
Frågan#1

FIck hjälp med denna SQL-sats i en tidigare tråd men dök upp ett problem till.
SQL-sats:

SELECT tavla.start, tavla.stop, tavla.id, tavla.titel, artiklar.id FROM tavla LEFT JOIN artiklar ON artiklar.titel LIKE '%'  + tavla.titel + '%' WHERE tavla.start >= #" & Date() & "# AND tavla.stop <= #" & Date() & "# ORDER BY tavla.id, tavla.start

Skulle villa begränsa tabell 2 (artiklar i mitt exempel) till att bara söka bland artiklar med typ = 2. Skrev då satsen så här:

SELECT tavla.start, tavla.stop, tavla.id, tavla.titel, artiklar.id FROM tavla LEFT JOIN artiklar ON artiklar.titel LIKE '%'  + tavla.titel + '%' [B]AND artiklar.typ = 2[/B] WHERE tavla.start >= #" & Date() & "# AND tavla.stop <= #" & Date() & "# ORDER BY tavla.id, tavla.start

Detta fungerar inte, får bara ett felmeddelande om felaktigt JOIN expression.

Testade även

SELECT tavla.start, tavla.stop, tavla.id, tavla.titel, artiklar.id FROM tavla LEFT JOIN artiklar ON artiklar.titel LIKE '%'  + tavla.titel + '%' WHERE tavla.start >= #" & Date() & "# AND tavla.stop <= #" & Date() & "# [B]AND artiklar.typ = 2[/B] ORDER BY tavla.id, tavla.start

Vilket resulterade i att jag inte får några null-rader som jag är ute efter iom. min join.

Tacksam för hjälp!

Medlem sedan dec. 200012 464 inlägg
#2

Lite parenteser

SELECT tavla.start, tavla.stop, tavla.id, tavla.titel, artiklar.id 
FROM tavla LEFT JOIN artiklar 
ON (artiklar.titel LIKE '%'  + tavla.titel + '%' AND artiklar.typ = 2)
 WHERE tavla.start >= Date()  
AND tavla.stop <= Date() 
ORDER BY tavla.id, tavla.start

Funktionen date finns i Access så behöver inte anropa VB

Medlem sedan mars 2003116 inlägg
#3

Fungerar klockrent!
Tack!

128 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)