Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Record count with table alias. #42

Conversation

EdwinBetanc0urt
Copy link
Contributor

@EdwinBetanc0urt EdwinBetanc0urt commented Oct 30, 2024

Before this changes

SELECT COUNT(*)

FROM C_BPartner WHERE bp.C_BPartner_ID=C_BPartner.C_BPartner_ID) AS "DisplayColumn_BP_C_BPartner_ID", (SELECT NVL(HR_WorkShift.Name,'')||' - '||NVL(HR_WorkShift.Value,'') FROM HR_WorkShift WHERE ws.HR_WorkShift_ID=HR_WorkShift.HR_WorkShift_ID) AS "DisplayColumn_WS_HR_WorkShift_ID"

FROM C_BPartner bp

INNER JOIN HR_Employee ee ON(ee.C_BPartner_ID = bp.C_BPartner_ID) 

INNER JOIN HR_WorkGroup wg ON(wg.HR_WorkGroup_ID = ee.HR_WorkGroup_ID) 

INNER JOIN HR_ShiftGroup sg ON(sg.HR_ShiftGroup_ID = wg.HR_ShiftGroup_ID) 

INNER JOIN HR_WorkShift ws ON(ws.HR_ShiftGroup_ID = sg.HR_ShiftGroup_ID) 

WHERE bp.AD_Client_ID IN(0,1000001) AND bp.AD_Org_ID IN(0,1000003,1000001,1000002) AND (bp.C_BPartner_ID IS NULL OR bp.C_BPartner_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 291 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (ee.HR_Employee_ID IS NULL OR ee.HR_Employee_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53086 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (wg.HR_WorkGroup_ID IS NULL OR wg.HR_WorkGroup_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53684 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (sg.HR_ShiftGroup_ID IS NULL OR sg.HR_ShiftGroup_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53683 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (ws.HR_WorkShift_ID IS NULL OR ws.HR_WorkShift_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53681 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND ee.EmployeeStatus = '13'

After this changes

SELECT COUNT(*)

FROM C_BPartner bp 

INNER JOIN HR_Employee ee ON(ee.C_BPartner_ID = bp.C_BPartner_ID) 

INNER JOIN HR_WorkGroup wg ON(wg.HR_WorkGroup_ID = ee.HR_WorkGroup_ID) 

INNER JOIN HR_ShiftGroup sg ON(sg.HR_ShiftGroup_ID = wg.HR_ShiftGroup_ID) 

INNER JOIN HR_WorkShift ws ON(ws.HR_ShiftGroup_ID = sg.HR_ShiftGroup_ID) 

WHERE bp.AD_Client_ID IN(0,1000001) AND bp.AD_Org_ID IN(0,1000003,1000001,1000002) AND (bp.C_BPartner_ID IS NULL OR bp.C_BPartner_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 291 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (ee.HR_Employee_ID IS NULL OR ee.HR_Employee_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53086 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (wg.HR_WorkGroup_ID IS NULL OR wg.HR_WorkGroup_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53684 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (sg.HR_ShiftGroup_ID IS NULL OR sg.HR_ShiftGroup_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53683 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND (ws.HR_WorkShift_ID IS NULL OR ws.HR_WorkShift_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 53681 AND AD_User_ID <> 1001212 AND IsActive = 'Y' )) AND ee.EmployeeStatus = '13'

Additional context

fixes https://github.com/solop-develop/frontend-core/issues/2901

@yamelsenih yamelsenih merged commit b2a36f2 into adempiere:master Nov 1, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants