13. marts 2008 - 14:03Der er
5 kommentarer og 1 løsning
joine forskellige datatyper
Hej Jeg har to tabeller jeg gerne vil joine. Desværre har nøgler forskellige datatyper, derfor vil jeg gerne konvertere datatypen i forespørgslen. Jeg har fundet "cast" og "convert" som mulige funktioner, men har ikke lige kunne få lavet den rigtige sql. Kan nogle hjælpe mig?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det lader til Cast eller convert ikke kan konvertere fra varchar til int. Fra int til varchar virker det.
Desværre får jeg ikke alle forekomster med - men det er måske en en anden fejl?
SELECT * FROM Activities WHERE VendorID = 8 AND PaymentTypeID= 4 AND activityid > 200000 giver 100 rækker MERE end:
SELECT Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr, ServicePartner.dbo.Activities.ActivityID, Navision.dbo.[ServicePartner A_S$Sales Invoice Header].No_, ServicePartner.dbo.Activities.ContactName FROM Navision.dbo.[ServicePartner A_S$Sales Invoice Header] INNER JOIN ServicePartner.dbo.Activities ON Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr = CAST(ServicePartner.dbo.Activities.ActivityID AS CHAR(10)) WHERE ServicePartner.dbo.Activities.VendorID = 8 AND ServicePartner.dbo.Activities.PaymentTypeID = 4 AND ServicePartner.dbo.Activities.ActivityID > 200000
Hvis jeg piller et enkelt rep_nr ud og laver sql forespørgsel, eksisterer nummeret og burde dermed være i BEGGE forespørgsler. Måske udenfor det oprindelige spørgsmål, men vil du kigge på det alligevel? /henrik
giver 100 rækker MERE end:
SELECT Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr, ServicePartner.dbo.Activities.ActivityID, Navision.dbo.[ServicePartner A_S$Sales Invoice Header].No_, ServicePartner.dbo.Activities.ContactName FROM Navision.dbo.[ServicePartner A_S$Sales Invoice Header] INNER JOIN ServicePartner.dbo.Activities ON Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr = CAST(ServicePartner.dbo.Activities.ActivityID AS CHAR(10)) WHERE ServicePartner.dbo.Activities.VendorID = 8 AND ServicePartner.dbo.Activities.PaymentTypeID = 4 AND ServicePartner.dbo.Activities.ActivityID > 200000
Hvis jeg piller et enkelt rep_nr ud og laver sql forespørgsel, eksisterer nummeret og burde dermed være i BEGGE forespørgsler. Måske udenfor det oprindelige spørgsmål, men vil du kigge på det alligevel? /henrik
sorry har gentaget mig selv. Sådan skulle der have stået: Det lader til Cast eller convert ikke kan konvertere fra varchar til int. Fra int til varchar virker det.
Desværre får jeg ikke alle forekomster med - men det er måske en en anden fejl?
SELECT * FROM Activities WHERE VendorID = 8 AND PaymentTypeID= 4 AND activityid > 200000 giver 100 rækker MERE end:
SELECT Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr, ServicePartner.dbo.Activities.ActivityID, Navision.dbo.[ServicePartner A_S$Sales Invoice Header].No_, ServicePartner.dbo.Activities.ContactName FROM Navision.dbo.[ServicePartner A_S$Sales Invoice Header] INNER JOIN ServicePartner.dbo.Activities ON Navision.dbo.[ServicePartner A_S$Sales Invoice Header].Rep_Nr = CAST(ServicePartner.dbo.Activities.ActivityID AS CHAR(10)) WHERE ServicePartner.dbo.Activities.VendorID = 8 AND ServicePartner.dbo.Activities.PaymentTypeID = 4 AND ServicePartner.dbo.Activities.ActivityID > 200000
Hvis jeg piller et enkelt rep_nr ud og laver sql forespørgsel, eksisterer nummeret og burde dermed være i BEGGE forespørgsler. Måske udenfor det oprindelige spørgsmål, men vil du kigge på det alligevel? /henrik
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.