cross join returns 0 records
Q1.
My cross-join return 0 records if any of the table, either table A or table B, is empty. Please confirm.
Q2.
I need to generate a salary slip.
my first query is:
select sh.headname Allownces, ee.amount Amount from hrm_employeeentitlement ee
inner join hrm_salaryhead sh on ee.hrm_salaryhead_id = sh.hrm_salaryhead_id
where ee.hrm_salaryheadtype_id = 1000000
my second query is:
select sh.headname Deductions, ee.amount Amount, ee.balance Balance from hrm_employeeentitlement ee
inner join hrm_salaryhead sh on ee.hrm_salaryhead_id = sh.hrm_salaryhead_id
where ee.hrm_salaryheadtype_id = 1000001
now i have taken a cross join of both
select vallownces.Allownces, vallownces.Amount, vdeductions.Deductions, vdeductions.Amount, vdeductions.Balance
from
(
select sh.headname Allownces, ee.amount Amount from hrm_employeeentitlement ee
inner join hrm_salaryhead sh on ee.hrm_salaryhead_id = sh.hrm_salaryhead_id
where ee.hrm_salaryheadtype_id = 1000000
) vallownces cross join
(
select sh.headname Deductions, ee.amount Amount, ee.balance Balance from hrm_employeeentitlement ee
inner join hrm_salaryhead sh on ee.hrm_salaryhead_id = sh.hrm_salaryhead_id
where ee.hrm_salaryheadtype_id = 1000001
)
returns 0 records because second sub-query is empty.
Q 3:
any alternate please ?