Je suis un codeur SQL novice et j'ai besoin d'aide pour la requête SQL que je construis pour le GL Transaction Detail d'Oracle.Requête SQL - Détail de la transaction Oracle GL
J'ai été capable d'écrire ma requête, et je suis capable de mettre les données comme je l'aime. Il y a quelque chose que j'aimerais ajouter à la requête, qui nécessite une sous-requête, mais je ne sais pas trop comment l'écrire.
SELECT CLIENT,
RESPONSIBILITY,
SERVICE_LINE,
STOB,
PROJECT,
JE_LINES_NET_ACT_AMOUNT AS "ACTUAL_AMOUNT",
EFFECTIVE_DATE,
PERIOD_NAME,
VENDOR_NAME,
DISTRIBUTION_SUPPLIER_NAME,
CASE WHEN JE_LINE_DESCRIPTION='Journal Import Created' THEN
AP_DISTRIBUTION_DESCRIPTION ELSE
JE_LINE_DESCRIPTION END AS DESCRIPTION,
CASE WHEN JE_HEADER_NAME LIKE '%Purchase%' THEN
INVOICE_NUMBER ELSE
JE_HEADER_NAME END AS DOCUMENT_NUMBER
FROM GL_Detail
WHERE RESPONSIBILITY BETWEEN '17500' AND '17511'
AND EFFECTIVE_DATE BETWEEN '2016/04/01' AND '2017/03/31'
AND JE_LINES_NET_ACT_AMOUNT <> 0
Ci-dessus est un exemple du code que j'utilise pour ma requête. Actuellement, je l'ai en tirant des données pour une gamme de centres de responsabilité (ou centres de coûts). À des fins de reporting, nous avons ces centres de responsabilité à différents niveaux pour l'emplacement et le département. La plupart des utilisateurs veulent extraire les données à l'aide de ces numéros de responsabilité cumulés. Cependant, notre table de détail des transactions GL n'a pas ces colonnes. Ce que je veux être capable de faire: Je veux être capable de définir une série de centres de responsabilité et de les assigner avec leur numéro de responsabilité enroulé que je peux définir. Lorsque je définis le paramètre après le WHERE, je veux être en mesure de définir le numéro de responsabilité enroulé en tant que paramètre.
Est-ce qu'une fonction de cas imbriquée résoudrait ceci après sélection? Ou y a-t-il une autre fonction que je dois utiliser?
Toute aide serait grandement appréciée.