#python #sql #django #alias
Вопрос:
Я получаю приведенную ниже ошибку для приведенного ниже SQL-запроса, я почти уверен, что это как-то связано с псевдонимом, данным PostGl. Я просто не знаю, как это исправить.
Запрос:
all = 'SELECT Master_Sub_Account , cAccountTypeDescription , Debit , Credit FROM [Kyle].[dbo].[PostGL] AS genLedger'
'Inner JOIN [Kyle].[dbo].[Accounts] '
'on Accounts.AccountLink = genLedger.AccountLink '
'Inner JOIN [Kyle].[dbo].[_etblGLAccountTypes] as AccountTypes '
'on Accounts.iAccountType = AccountTypes.idGLAccountType'
' WHERE genLedger.AccountLink not in (161,162,163,164,165,166,167,168,122)'
Ошибка :
Многозначный идентификатор «genLedger.Ссылка на учетную запись» не может быть привязана. (4104)
Комментарии:
1. Возможно:
WHERE genLedger.AccountLink NOT IN (161, 162, ...)
?2. Теперь он дает «многосоставный идентификатор «PostGL. Ссылка на учетную запись» не может быть привязана. (4104)» как ошибка при использовании этого кода
3. Для таблицы существует псевдоним
PostGL
.PostGL.AccountLink
следует заменить наgenLedger.AccountLink
.4. @ReinisVerbelis Я отредактировал приведенный выше вопрос. Ошибка для многосоставного идентификатора все еще отображается
5. Затем следующее: в конце первой строки нет места. Между
genLedger
иInner JOIN [Kyle].[dbo].[Accounts]
Ответ №1:
в предложении where недопустимый синтаксис sql :
WHERE genLedger.AccountLink <> 161 OR genLedger.AccountLink <> 162 OR...
но вы можете использовать not in
вместо этого:
WHERE genLedger.AccountLink not in (161,162,163,164,165,166,167,168,122)
Комментарии:
1. Теперь он дает «многосоставный идентификатор «PostGL. Ссылка на учетную запись» не может быть привязана. (4104)» как ошибка при использовании этого кода
2. @KyleStranger вы дали
PostGL
таблице псевдоним «genLedger», и вы должны использовать этот псевдоним везде, где он установлен