webForumDet fria alternativet

Hämta de som inte handlat på 6 månader

Databaser & SQL

3 svar · 267 visningar · startad av JAreMANNEN

Medlem sedan aug. 20002 272 inlägg
Frågan#1

Tja, får huvudvärk över detta nu =)

Två tabeller: tblKund, tblOrder

tblKund
ID

tblOrder
KundID
Datum

Vill alltså hämta fram alla de kunder som INTE lagt någon order de senaste 6 månaderna.

SELECT * FROM tblKund
INNER JOIN tblOrder
ON tblKund.ID = tblOrder.KundID
WHERE NOT tblOrder.Datum BETWEEN '2006-12-15' AND '2007-05-15'

Så går ju inte skriva, för den hämtar ju bara informationen..ingen "check" huruvida det existerar senare data i tblOrder.
Kan inte tänka mig att detta ska vara svårt, men det står helt still i min stressade skalle :)

Tack på förhand!

Medlem sedan juni 200032 967 inlägg
#2

Vi får huvudvärk av att du inte anger vilken dbms och version du använder.

Medlem sedan aug. 20002 272 inlägg
#3

gah, glömmer alltid!!
SQL Server 2000

Medlem sedan juni 200032 967 inlägg
#4

Om man kör en någotsånär vettig dbms bör detta funka:

SELECT * FROM tblKund
WHERE ID NOT IN
(SELECT KundID FROM tblOrder
WHERE Datum BETWEEN '2006-12-15' AND '2007-05-15')

edit: SQL Server 2000 räknas som "någotsånär vettig dbms".

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)