Я хочу создать процедуру хранения, но сталкиваюсь с этой ошибкой, через некоторое время обнаружив, что ret_payrollcalculationInfo включает в себя столбец xml и хранит BankGuid и BankBranchGuid в виде строки, а не uniqueidentifier и не может присоединиться к их таблицам.
<BankGuid>92434DE6-3D3C-43F1-A89E-869AE5456B07</BankGuid>
<BankBranchGuid>00000000-0000-0000-0000-000000000000</BankBranchGuid>
<PayrollItemGuid>482C44DD-ECFB-4B79-9118-86B681CC51C9</PayrollItemGuid>
<SalariedType>1</SalariedType>
Я хочу знать, есть ли способ разыграть уникальный идентификатор, когда происходит INNER JOIN.вот код ...
CREATE PROCEDURE [dbo].[ret_PayrollCalculations_GetCalculationSummaries]
(
@CalculationCommandGuid uniqueidentifier,
@OperationalUnitIDs varchar(512)
)
AS
DECLARE @UnitIds TABLE([ID] INT primary key)
IF ISNULL(@OperationalUnitIDs, '') <> ''
INSERT INTO @UnitIds SELECT Distinct [Column] FROM com_udfSplit(@OperationalUnitIDs, ',')
SELECT DISTINCT
calculaion.[PersonnelNo],
calculaion.[FullName],
calculaion.[Amount],
calcInfo.[AccountNo],
calcInfo.[SalariedType],
bank.[Title],
branch.[Title]
FROM
ret_PayrollCalculationCommands command INNER JOIN
ret_vwPayrollCalculations calculaion ON command.[Guid] = calculaion.[CalculationCommandGuid] INNER JOIN
ret_PayrollCalculationInfo calcInfo ON calculaion.[Guid] = calcInfo.[PayrollCalculationGuid] INNER JOIN
gen_Banks bank ON calcInfo.[BankGuid] = bank.[Guid] INNER JOIN
gen_Branches branch ON calcInfo.[BankBranchGuid] = branch.[Title]
WHERE
command.[Guid] = @CalculationCommandGuid