webForumDet fria alternativet

Enbart en (1) kundpost Tack.

Databaser & SQL

2 svar · 544 visningar · startad av Lasp

Medlem sedan juli 200012 978 inlägg
Frågan#1

Jag vill ha ut alla kunder som har haft kontrakt sedan början av 2007!
Men jag vill bara ha Kunden en gång! :r

SELECT dbo.Customer.Cust_Id, dbo.Customer.Name, dbo.Customer.Org_No, dbo.Contr_Base.Contr_Date
FROM dbo.Contr_Base LEFT OUTER JOIN
dbo.Customer ON dbo.Contr_Base.CustID = dbo.Customer.Cust_Id
WHERE (dbo.Contr_Base.Contr_Date > CONVERT(DATETIME, '2007-01-01 00:00:00', 102))

SQL2005,
Det skulle vara bra om bara kunde plocka ut exempelvis företagskunder dvs. Org_No större än 5512??-???? och mindre än 5599??-???? :P

Medlem sedan dec. 20025 483 inlägg
#2

Så här kanske:

select distinct
       c.cust_id
     , c.name
     , c.org_no
  from customer c
inner
  join contr_base b
    on c.cust_id = b.custid
 where b.contr_date >= '2007-01-01 00:00:00'
   and left(c.org_no, 4) > '5512'
   and left(c.org_no, 4) < '5599'
Medlem sedan juli 200012 978 inlägg
#3

Jag bugar och bockar. :h Helt perfekt! (y)
Jag gillar dessutom skrivformen. Lätt att läsa och att redigera :birp

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)