Правильный способ получить значение из отношения - PullRequest
0 голосов
/ 19 сентября 2018
SELECT l.journal_id, %s              
FROM account_move_line AS l
  LEFT JOIN account_journal j ON (j.id = l.journal_id)
WHERE l.state <> 'draft'
AND l.journal_id IN (%s)
AND (l.account_id = j.default_credit_account_id OR
     l.account_id = j.default_debit_account_id)

и я получаю ошибку

column l.state does not exist
LINE 17: WHERE l.state <> 'draft'

account_move_line не имеет "state", но имеет отношение к account_move, которое имеет state.отношение move_id

так как я могу написать это правильно?Я пытался

WHERE l.move_id.state <> 'draft'

, но я получаю сообщение об ошибке

missing FROM-clause entry for table "move_id"
LINE 17: WHERE l.move_id.state <> 'draft'
^

В основном мне нужно move_id, которое относится к account_move_line state <> 'draft'

1 Ответ

0 голосов
/ 19 сентября 2018

Пожалуйста, используйте ниже Запрос:

SELECT l.journal_id, %s              
FROM account_move_line AS l
INNER JOIN account_move am ON l.move_id = am.state_id
  LEFT JOIN account_journal j ON (j.id = l.journal_id)
WHERE am.state <> 'draft'
AND l.journal_id IN (%s)
AND (l.account_id = j.default_credit_account_id OR
     l.account_id = j.default_debit_account_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...