Hi,
Based on a table like below I have created a report so that I can compare number of items in the main warehouse (LOCATION1) and the outlets (LOCATION2 and LOCATION3).
___________________________________
| ID | PRODUCT_INDEX | LOCATION | VALUE |
___________________________________
| 1 | INDEX1 | LOCATION1 | 1 |
___________________________________
| 2 | INDEX1 | LOCATION2 | 1 |
___________________________________
| 3 | INDEX1 | LOCATION3 | 0 |
___________________________________
| 4 | INDEX2 | LOCATION1 | 0 |
___________________________________
| 5 | INDEX2 | LOCATION2 | 0 |
___________________________________
| 6 | INDEX2 | LOCATION3 | 1 |
___________________________________
| 7 | INDEX3 | LOCATION1 | 1 |
___________________________________
| 8 | INDEX3 | LOCATION2 | 0 |
___________________________________
| 9 | INDEX3 | LOCATION3 | 1 |
___________________________________
select
a.PRODUCT_INDEX
, a.LOCATION1(VALUE)
, b.LOCATION2(VALUE)
, c.LOCATION3(VALUE)
from
(
select
VALUE as 'LOCATION1(VALUE)'
, PRODUCT_INDEX
from TABLE
where LOCATION = LOCATION1
and VALUE > 0
) a
inner join
(
select
VALUE as 'LOCATION2(VALUE)'
, PRODUCT_INDEX
from TABLE
where LOCATION = LOCATION2
) b
on a.PRODUCT_INDEX = b.PRODUCT_INDEX
inner join
(
select
VALUE as 'LOCATION3(VALUE)'
, PRODUCT_INDEX
from TABLE
where LOCATION = LOCATION3
) c
on a.PRODUCT_INDEX = c.PRODUCT_INDEX
__________________________________________________________________
| PRODUCT_INDEX | LOCATION1 (VALUE) | LOCATION2 (VALUE) | LOCATION3 (VALUE)|
__________________________________________________________________
| INDEX1 | 0 | 1 | 0 |
__________________________________________________________________
| INDEX2 | 1 | 0 | 1 |
__________________________________________________________________
| INDEX3 | 1 | 0 | 1 |
__________________________________________________________________
select * from VIEW where 'LOCATION1(VALUE)' > 0 and ('LOCATION2(VALUE)' = 0 or 'LOCATION3(VALUE)' = 0)
__________________________________________________________________
| PRODUCT_INDEX | LOCATION1 (VALUE) | LOCATION2 (VALUE) | LOCATION3 (VALUE)|
__________________________________________________________________
| INDEX1 | 1 | 1 | 0 |
__________________________________________________________________
| INDEX3 | 1 | 0 | 1 |
__________________________________________________________________
__________________________________________________
| JOIN_ON_VALUES | LOCATION1 (VALUE) | LOCATION2 (VALUE) |
__________________________________________________
| INDEX1 | 1 | 1 |
__________________________________________________
| INDEX3 | 1 | 0 |
__________________________________________________
Any ideas someone?