Skip to content

Instantly share code, notes, and snippets.

@juriad
Last active December 28, 2015 00:59
Show Gist options
  • Save juriad/7417339 to your computer and use it in GitHub Desktop.
Save juriad/7417339 to your computer and use it in GitHub Desktop.
Dotaz na počet použití objektu univerza z reportu.
select distinct
dp.DOCUMENT document,
dp.NAME provider,
dp.DATA_SOURCE source_name
from
BO_DATA_PROVIDER dp
left join BO_UNIVERSE u on (dp.DATA_SOURCE = u.NAME)
where
dp.ID not like '[_]%' and u.NAME is null
order by
dp.DATA_SOURCE
SELECT
D.TITLE doc_name,
D.ID doc_id,
S.NAME sheet,
B.NAME block_name,
B.ID block_id,
B.TYPE block_type,
DI.NAME field_name,
DI.TYPE field_type,
DI.QUALIFICATION field_qualification,
DI.DATA_PROVIDER field_data_provider,
DI.REF_FORMULA field_references,
REF.NAME object_name,
REF.TYPE object_type,
REF.QUALIFICATION object_qualification,
REF.DATA_PROVIDER object_data_provider,
DP.DATA_SOURCE object_source_name,
DS.TYPE object_source_type,
U.NAME universe_name
FROM
BO_DOCUMENT D
JOIN BO_BLOCK B ON (B.DOCUMENT = D.ID)
JOIN BO_BLOCK S ON (S.DOCUMENT = D.ID AND S.REPORT = B.REPORT AND S.TYPE = 'Report')
JOIN BO_BLOCK_DATA_ITEM BDI ON ( B.DOCUMENT = BDI.DOCUMENT AND B.REPORT = BDI.REPORT AND B.ID = BDI.BLOCK )
JOIN BO_DATA_ITEM DI ON ( BDI.DOCUMENT = DI.DOCUMENT AND BDI.DATA_PROVIDER = DI.DATA_PROVIDER AND BDI.DATA_ITEM = DI.ID )
LEFT JOIN BO_DATA_ITEM_TS TS ON (DI.DOCUMENT=TS.DOCUMENT AND DI.DATA_PROVIDER=TS.DATA_PROVIDER AND DI.ID=TS.ID)
LEFT JOIN (
SELECT DI2.*, DI2.DOCUMENT diDocument, DI2.DATA_PROVIDER diDataProvider, DI2.ID diDataItem
FROM BO_DATA_ITEM DI2
WHERE substring(DI2.DATA_PROVIDER, 1, 1) <> '_'
UNION ALL
SELECT DI2.*, DIR.DOCUMENT diDocument, DIR.DATA_PROVIDER diDataProvider, DIR.ID diDataItem
FROM BO_DATA_ITEM DI2
JOIN BO_DATA_ITEM_REFERENCE DIR ON ( DI2.DOCUMENT = DIR.DOCUMENT AND DI2.DATA_PROVIDER = DIR.REF_DATA_PROVIDER AND DI2.ID = DIR.REF_ID )
WHERE DIR.TYPE = 'shortcut'
) REF ON ( DI.DOCUMENT = REF.diDocument AND DI.DATA_PROVIDER = REF.diDataProvider AND DI.ID = REF.diDataItem )
JOIN BO_DATA_PROVIDER DP ON (DP.ID = REF.DATA_PROVIDER AND DP.DOCUMENT = D.ID)
LEFT JOIN BO_DATA_SOURCE DS ON (DS.NAME = DP.NAME)
LEFT JOIN BO_UNIVERSE U ON ( U.NAME = DP.DATA_SOURCE )
WHERE
REF.NAME IS NOT NULL
ORDER BY
D.TITLE, S.RANK, B.RANK, B.ID, BDI.COMPOSITE_ID
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment