jak zrobic JOIN i zastosowac SUBSTRING zeby tylko porownal recordy gdzie assignmentNumber i employeeNumber w obu tabelach moga miec max 11 characters ale ja tylko potrzebuje piersze 8 cyfr
SELECT * FROM ADStarterLeaverDetails AD JOIN ADExtractedData EXTR ON AD.employeeNumber = EXTR.assignmentNumber JOIN AUTHNAccount ACC ON EXTR.assignmentNumber = ACC.[User]
@locheck: to jakas jednorazowa akcja czy staly mechanizm? Jak staly to sugeruje jednak zrobic kolumne z oczyszczonymi danymi, bo join po funkcji to wydajny raczej nie bedzie...
@locheck: tak jak pisze @Darjo - jeżeli to ma być ciągle używane to nie polecam tego rozwiązania ale jak chcesz jednorazowo coś znaleźć to potraktuj te wartości funkcją left()
Nie wiem jak mssql, ale jesli nie pozwala na funkcje w join to zawsze mozna zrobic iloczyn kartezjanski tabel przecinkiem i joinowac je warunkiem w where, tam na pewno da sue uzyc dunkcji
jak zrobic JOIN i zastosowac SUBSTRING zeby tylko porownal recordy gdzie assignmentNumber i employeeNumber w obu tabelach moga miec max 11 characters ale ja tylko potrzebuje piersze 8 cyfr
SELECT *
FROM ADStarterLeaverDetails AD
JOIN ADExtractedData EXTR
ON AD.employeeNumber = EXTR.assignmentNumber
JOIN AUTHNAccount ACC
ON EXTR.assignmentNumber = ACC.[User]
with cte1 as
(
SELECT *,LEFT(AD.employeeNumber,8) as col
FROM ADStarterLeaverDetails