我有一个'Account_move_line'表
'Account_move_line'
ID Code
1 9601
2 9602
...
“Account_move_line”中的代码可以有父级
'Analytic_account'
ID Code Parent
1 5627 NULL
2 9601 5627
3 9601 5627
4 9603 5627
...
我有一个从'Account_move_line'开始的现有查询,我在其中选择'Account_move_line'.code来生成报告。
但现在我想从parent_code开始报告选择,而不是'Account_move_line'。
实施例。从5627报告。我想保留报告的一般结构,该结构从“Account_move_line”
开始这是做某事的方法吗?:
从'Account_move_line'中选择ID,代码,其中'accounts_move_line'.code in children_from_id(5627)
答案 0 :(得分:2)
SELECT * FROM 'Account_move_line' where 'Account_move_line'.Code IN ( SELECT 'Analytic_account'.Code from 'Analytic_account' where 'Analytic_account'.Parent = 5627 )
如果我很清楚你需要什么,这应该有效。
E:下面的子查询选择Analytic_account中父代5627的所有代码。
SELECT 'Analytic_account'.Code from 'Analytic_account' where 'Analytic_account'.Parent = 5627
答案 1 :(得分:0)
使用INNER JOIN
的替代方法:
SELECT l.* FROM Account_move_line l
INNER JOIN Analytic_account a ON a.Code=l.Code
WHERE a.Parent=5627