Kom til at se, at du skriver, at det er en left join. Så skal du jo nok snarere bruge
ON ditAlfaFelt = CHARACTER(ditNumeriskeFelt) eller ON ditNumeriskefelt = CAST(ditAlfaFelt AS NUMERIC(1, 0))
eller hvis du insisterer på at putte det i WHERE sætningen: WHERE ditNumeriskeFelt = CAST(ditAlfaFelt AS NUMERIC(1, 0)) OR ditAlfaFelt IS NULL (hvis ditAlfaFelt sidder på højre side af joinen)
----- Eksempel:
SELECT ol.ordreID, k.Kundenr, k.Kundenavn, ol.Varenr, v.Varetekst, ol.Antal, v.StkPris, v.StkPris * ol.Antal AS Linieværdi FROM db1.ordrelinier ol INNER JOIN db1.varer v ON ol.Varenr = v.Varenr LEFT JOIN db1.kunder k ON k.Kundenr = CAST(SUBSTR(ol.ordreID, 3, 3) AS NUMERIC(3, 0)) WHERE ol.ordreID = 'OR233BE'
Kundenummeret er her en del af OrdreID (fra pos 3 til 5) - alligevel kan man joine til det numeriske felt Kundenr i kunder.
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.