Query for highest balance for each BP
I'm working on a query to assist with determining appropriate Credit Limits for our customers. I have been asked to research if we can develop a query to give what the highest balance has been for each BP all in one report. The target query will return back all of our current BP's and what their highest balance have been.
I found the following query by Gordon that will return the highest balance for a specified BP and have been working to use this as a base to create my query, but haven't had any luck so far.
SELECT T.SHORTNAME, MAX(T.Balance) Max
FROM
(SELECT T0.ShortName, (SELECT SUM(T2.DEBIT-T2.CREDIT) FROM dbo.JDT1 T2 WHERE T2.SHORTNAME = T0.ShortName AND DateDiff(d,T2.DueDate,T0.Duedate) >=0) 'Balance'
FROM dbo.JDT1 T0
WHERE T0.ShortName = '[%0]' AND DateDiff(yy,T0.DueDate,GetDate()) = 0) T
GROUP BY T.SHORTNAME
Any help would be appreciated.
Thanks for the help, but this calculates the current outstanding balance which is already available via the OCRD table. What I'm looking for is the max Cumulative Balance for the BP. We currently find that value by selecting the arrow for Account Balance from the BP and then finding the highest balance in the Cumaliative Balance (LC) field. SAP is calculating this somehow and we would like to be able to run a query to return back the max cumulative balance for each BP in our system. I'm not even sure this can be replicated in a query. I'm going to look through the refdb.chm help file to see if I can find anything to help out.
Any insight will be greatly appreciated.
Similar Messages
-
Execute a query for each value returned by subquery
Hy, I have a query and a subquery(both of them are selects) and I want the outer query to be executed for each value returned by the subquery but the outer query has to return only one result.
For example, the following query is right for what I want?:
the following query finds out which authors live in the same city by looking at the postal code:
select au_fname, au_lname, city
from authors
where city = all
(select city
from authors
where postalcode like "946%")
I undertand the sentence "select au_fname, au_lname, city from authors where city=" will be executed for each value returned by "select city from authors where postalcode like "946%"". Is this right?
ThanksHi,
user13162080 wrote:
Hy, I have a query and a subquery(both of them are selects) and I want the outer query to be executed for each value returned by the subquery but the outer query has to return only one result. Sorry, I don't understand what you want. What if several rows in the table meet all the criteria? Do you only want some kind of summary of all of them?
Whenever you have a question, post a little sample data (CREATE TABLE and INSERT statements), and the results you want from that data.
For example, the following query is right for what I want?:
the following query finds out which authors live in the same city by looking at the postal code:
select au_fname, au_lname, city
from authors
where city = all
(select city
from authors
where postalcode like "946%")As I said earlier, I don't know what you want , but whatever it is, the query above is probably not the right way to get it.
Perhaps you meant "IN" instead of "= ALL", like this:
SELECT au_fname, au_lname, city
FROM authors
WHERE city IN -- ***NOT*** = all
( SELECT city
FROM authors
WHERE postalcode LIKE "946%"
I undertand the sentence "select au_fname, au_lname, city from authors where city=" will be executed for each value returned by "select city from authors where postalcode like "946%"". Is this right?No; the main query will be executed once, and the sub-query will be executed once. The rows in the main query will be compared to the results of the sub-query, to see if they will be included in the result set or not. This goes both for the original query you posted, and the modified version I posted.
InoL wrote:
Maybe I don't understand exactly what you want, or you gave a bad example. But your example is simply:
select au_fname, au_lname, city
from authors
where postalcode like '946%'
No; consider this data:
INSERT INTO authors (au_lname, city, postalcode) VALUES ('Virgil', 'Oakland', '94601');
INSERT INTO authors (au_lname, city, postalcode) VALUES ('Steinbeck', 'Oakland', NULL);
INSERT INTO authors (au_lname, city, postalcode) VALUES ('Grass', 'Emeryville', '94608');What OP posted would return no rows, because nobody is in both 'Oakland' and 'Emeryville'.
What you posted would return 'Virgil' and 'Grass'.
What I posted would reutn all 3 rows, including Steinbeck, whose city is known to be related to a '946%' postalcode, even though his own postalcode is missing.
Edited by: Frank Kulash on Feb 9, 2011 1:06 PM -
Splitting and executing the query for each 1 lac and executing parallel.
Hi All,
We have a table with around 10 keys and each key is having more than millions of records for a given date.
And my requirement is to find the sum of the sale_price of each keys.
( example :
Select key, sum(sale_price) from table1 where date1=sysdate
group by key
Since, each set of key contains more than a millions of records, It's time consumption is too high.
Is thr any way to achieve as below,
For key 1 (assume 1 million records)
and we will spilt these into 100 parts and execute parallelly.
At the end get sum of all 100 parts.
Similarly for other keys....
Is it possible to divide the records into 1 lac each and give it for parallel execution ?If the key column is also the partition key, I would expect that to work well with parallel query. What have you tried that isn't working? Also what is your Oracle version?
-
Tab Canvas : 1 data block 2 different query for each tab) Forms 10g
Hello allllll,
I have 2 blocks Master datail ,the master is non-db the tab canvas is for one data block:
Problem 1: How 2 display same data block in each tab.?
Problem 2: How when pressing excute Query button each tab display the data
----------------------specified by the Master block..?
Regards,
Abdetu..-- When-New-Form-instance
IF :SYSTEM.Record_Status ='query' THEN
go_block('PLN_STOCK_TAKING_HEADER');
execute_query;
go_block('PLN_STOCK_TAKING_DETAIL');
execute_query;
go_block('PLN_STOCK_TAKING_DETAIL2');
execute_query;
END IF;
same behaviour,excute on tab2 not tab1,well i think it has something to do with the relation..!
Regards,
Abdetu.. -
Hierarchical + Analytical query for organizational unit parameters
Hello gurus,
I try for a couples of hour ago to make a query work as I would like.
Our application need to store some parameters for our organization units. These organization units are typically organized in in an hierarchy manner: one top unit with many level of child units. The parameters are stored into another table with 1:1 relationship.
For sake of visualisation, here is the data for the organization unit and parameter table in a more visual format:
SQL> select * from organization_unit;
UNIT_CODE UNIT_NAME PARENT_UNIT_CODE
00000 Top level
10 L2 unit #10 00000
10-01 L3 unit #10-01 10
10-02 L3 unit #10-02 10
20 L2 unit #20 00000
20-01 L3 unit #20-01 20
20-02 L3 unit #20-02 20
SQL> select * from org_unit_parameters;
UNIT_CODE PARAM1 PARAM2 PARAM3 PARAM4
00000 Default value Default value Default value {null}
10 {null} Value from 10 Value from 10 {null}
10-01 {null} {null} Value from 10-01 {null}
10-02 {null} {null} {null} Value from 10-02
20 Value from 20 Value from 20 Value from 20 {null}
20-01 {null} Value from 20-01 {null} {null}
20-02 {null} Value from 20-02 {null} {null}The application will query the parameter table to get a parameter value for a given unit.
The parameter resolution algorithm is rather simple: when querying a unit, the applicable parameter is the one defined at the requested level. If the parameter is not defined (null) at the requested level, the parameter value that must be returned is the next defined one in the parent hierarchy. In some rare cases, it can be null if a parameter is not defined anywhere from the requested level to top.
I've made a query that seems to work when querying for one unit at a time. It use hierarchical operators (start with + connect by) with a bit of analytical functions. Here is a test & raw output example:
SQL> WITH hierarchy
2 AS
3 (
4 SELECT ou.unit_code,
5 LEVEL AS lvl
6 FROM organization_unit ou
7 START WITH
8 ou.unit_code = '20-01'
9 CONNECT BY
10 ou.unit_code = PRIOR ou.parent_unit_code
11 )
12 SELECT h.*,
13 p.param1 AS param1_raw,
14 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1_with_last,
15 FIRST_VALUE(p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param1_with_first,
16 p.param2 AS param2_raw,
17 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2_with_last,
18 FIRST_VALUE(p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param2_with_first,
19 p.param3 AS param3_raw,
20 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3_with_last,
21 FIRST_VALUE(p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param3_with_first,
22 p.param4 AS param4_raw,
23 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4_with_last,
24 FIRST_VALUE(p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param4_with_first
25 FROM hierarchy h
26 LEFT JOIN org_unit_parameters p
27 ON h.unit_code = p.unit_code
28 ORDER BY h.lvl DESC;
UNIT_CODE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRST PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRST PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRST PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRST
00000 3 Default value Default value Value from 20 Default value Default value Value from 20-01 Default value Default value Value from 20 {null} {null} {null}
20 2 Value from 20 Value from 20 Value from 20 Value from 20 Value from 20 Value from 20-01 Value from 20 Value from 20 Value from 20 {null} {null} {null}
20-01 1 {null} Value from 20 {null} Value from 20-01 Value from 20-01 Value from 20-01 {null} Value from 20 {null} {null} {null} {null}Seems pretty good, the upper parameters are well «propagated» down with LAST_VALUE function. But, I don't understand why the use of FIRST_VALUE and oppposite ordering doesn't give the same result. A little more playing with the last query for getting the final result for a given unit code:
SQL> SELECT *
2 FROM
3 (
4 WITH hierarchy
5 AS
6 (
7 SELECT ou.unit_code,
8 LEVEL AS lvl
9 FROM organization_unit ou
10 START WITH
11 ou.unit_code = '20-01'
12 CONNECT BY
13 ou.unit_code = PRIOR ou.parent_unit_code
14 )
15 SELECT h.*,
16 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1,
17 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2,
18 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3,
19 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4
20 FROM hierarchy h
21 LEFT JOIN org_unit_parameters p
22 ON h.unit_code = p.unit_code
23 ORDER BY h.lvl
24 )
25 WHERE ROWNUM = 1;
UNIT_CODE LVL PARAM1 PARAM2 PARAM3 PARAM4
20-01 1 Value from 20 Value from 20-01 Value from 20 {null}Works well!
But, my ultimate goal is to create a view that resolve correctly all these parameters for each level of the organization with proper propagation rather then querying for each unit at a time. I played a bit, but without success. :( My current raw query is this one:
SQL> WITH hierarchy
2 AS
3 (
4 SELECT ou.unit_code,
5 LPAD(' ',2*(LEVEL-1)) || ou.unit_code AS tree,
6 LEVEL AS lvl
7 FROM organization_unit ou
8 START WITH
9 parent_unit_code IS NULL
10 CONNECT BY
11 PRIOR unit_code = parent_unit_code
12 )
13 SELECT h.*,
14 p.param1 AS param1_raw,
15 LAST_VALUE (p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param1_with_last,
16 FIRST_VALUE(p.param1 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param1_with_first,
17 p.param2 AS param2_raw,
18 LAST_VALUE (p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param2_with_last,
19 FIRST_VALUE(p.param2 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param2_with_first,
20 p.param3 AS param3_raw,
21 LAST_VALUE (p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param3_with_last,
22 FIRST_VALUE(p.param3 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param3_with_first,
23 p.param4 AS param4_raw,
24 LAST_VALUE (p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl DESC) AS param4_with_last,
25 FIRST_VALUE(p.param4 IGNORE NULLS) OVER (ORDER BY h.lvl ASC) AS param4_with_first
26 FROM hierarchy h
27 LEFT JOIN org_unit_parameters p
28 ON h.unit_code = p.unit_code
29 ORDER BY h.unit_code;
UNIT_CODE TREE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRST PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRST PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRST PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRST
00000 00000 1 Default value Default value Default value Default value Default value Default value Default value Default value Default value {null} Value from 10-02 {null}
10 10 2 {null} Value from 20 Default value Value from 10 Value from 10 Default value Value from 10 Value from 10 Default value {null} Value from 10-02 {null}
10-01 10-01 3 {null} {null} Default value {null} Value from 20-02 Default value Value from 10-01 Value from 10-01 Default value {null} Value from 10-02 Value from 10-02
10-02 10-02 3 {null} {null} Default value {null} Value from 20-02 Default value {null} Value from 10-01 Default value Value from 10-02 Value from 10-02 Value from 10-02
20 20 2 Value from 20 Value from 20 Default value Value from 20 Value from 10 Default value Value from 20 Value from 10 Default value {null} Value from 10-02 {null}
20-01 20-01 3 {null} {null} Default value Value from 20-01 Value from 20-02 Default value {null} Value from 10-01 Default value {null} Value from 10-02 Value from 10-02
20-02 20-02 3 {null} {null} Default value Value from 20-02 Value from 20-02 Default value {null} Value from 10-01 Default value {null} Value from 10-02 Value from 10-02As you can see, it's not as I expected. I know there's something to do with a PARTITION BY clause, but don't know how.
Is anyone knows how to solve my problem?
Thanks
Bruno
For reproductibility purposes, here is the code to create sturcture and data:
Here is the format of my tables and some samble data:
CREATE TABLE organization_unit (
unit_code VARCHAR2(5 CHAR) NOT NULL PRIMARY KEY,
unit_name VARCHAR2(100 CHAR) NOT NULL,
parent_unit_code VARCHAR2(5 CHAR)
CREATE TABLE org_unit_parameters (
unit_code VARCHAR2(5 CHAR) NOT NULL PRIMARY KEY,
param1 VARCHAR2(100 CHAR),
param2 VARCHAR2(100 CHAR),
param3 VARCHAR2(100 CHAR),
param4 VARCHAR2(100 CHAR)
-- Inserting data
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('00000', 'Top level', NULL);
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10', 'L2 unit #10', '00000');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10-01', 'L3 unit #10-01', '10');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('10-02', 'L3 unit #10-02', '10');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20', 'L2 unit #20', '00000');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20-01', 'L3 unit #20-01', '20');
INSERT INTO organization_unit (unit_code, unit_name, parent_unit_code)
VALUES ('20-02', 'L3 unit #20-02', '20');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param1, param2, param3)
VALUES ('00000', 'Default value', 'Default value', 'Default value');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2, param3)
VALUES ('10', 'Value from 10', 'Value from 10');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param3)
VALUES ('10-01', 'Value from 10-01');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param4)
VALUES ('10-02', 'Value from 10-02');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param1, param2, param3)
VALUES ('20', 'Value from 20', 'Value from 20', 'Value from 20');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2)
VALUES ('20-01', 'Value from 20-01');
INSERT INTO ORG_UNIT_PARAMETERS (unit_code, param2)
VALUES ('20-02', 'Value from 20-02');
COMMIT;Now, I hoppe I got your reqs:
WITH hierarchy AS (
SELECT ou.unit_code,
LPAD(' ',2*(LEVEL-1)) || ou.unit_code AS tree,
LEVEL AS lvl,
param1 AS param1_raw,
param2 AS param2_raw,
param3 AS param3_raw,
param4 AS param4_raw,
SYS_CONNECT_BY_PATH(p.param1,'#') || '#' AS param1_path,
SYS_CONNECT_BY_PATH(p.param2,'#') || '#' AS param2_path,
SYS_CONNECT_BY_PATH(p.param3,'#') || '#' AS param3_path,
SYS_CONNECT_BY_PATH(p.param4,'#') || '#' AS param4_path
FROM organization_unit ou LEFT JOIN org_unit_parameters p
ON ou.unit_code = p.unit_code
START WITH parent_unit_code IS NULL
CONNECT BY PRIOR ou.unit_code = parent_unit_code
SELECT unit_code,
tree,
lvl,
param1_raw,
REGEXP_SUBSTR(param1_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param1_path,'[^#]+'))) AS param1_with_last,
REGEXP_SUBSTR(param1_path,'[^#]+') AS param1_with_first,
param2_raw,
REGEXP_SUBSTR(param2_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param2_path,'[^#]+'))) AS param2_with_last,
REGEXP_SUBSTR(param2_path,'[^#]+') AS param2_with_first,
param3_raw,
REGEXP_SUBSTR(param3_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param3_path,'[^#]+'))) AS param3_with_last,
REGEXP_SUBSTR(param3_path,'[^#]+') AS param3_with_first,
param4_raw,
REGEXP_SUBSTR(param4_path,'[^#]+',1,GREATEST(1,REGEXP_COUNT(param4_path,'[^#]+'))) AS param4_with_last,
REGEXP_SUBSTR(param4_path,'[^#]+') AS param4_with_first
FROM hierarchy
ORDER BY unit_code
UNIT_ TREE LVL PARAM1_RAW PARAM1_WITH_LAST PARAM1_WITH_FIRS PARAM2_RAW PARAM2_WITH_LAST PARAM2_WITH_FIRS PARAM3_RAW PARAM3_WITH_LAST PARAM3_WITH_FIRS PARAM4_RAW PARAM4_WITH_LAST PARAM4_WITH_FIRS
00000 00000 1 Default value Default value Default value Default value Default value Default value Default value Default value Default value
10 10 2 Default value Default value Value from 10 Value from 10 Default value Value from 10 Value from 10 Default value
10-01 10-01 3 Default value Default value Value from 10 Default value Value from 10-01 Value from 10-01 Default value
10-02 10-02 3 Default value Default value Value from 10 Default value Value from 10 Default value Value from 10-02 Value from 10-02 Value from 10-02
20 20 2 Value from 20 Value from 20 Default value Value from 20 Value from 20 Default value Value from 20 Value from 20 Default value
20-01 20-01 3 Value from 20 Default value Value from 20-01 Value from 20-01 Default value Value from 20 Default value
20-02 20-02 3 Value from 20 Default value Value from 20-02 Value from 20-02 Default value Value from 20 Default value
7 rows selected.
SQL> SY.
Edited by: Solomon Yakobson on Nov 12, 2010 10:09 AM -
Ons select for each get !
I have the following scenario:
An stateless session bean(ejb 2) method with support transaction type does:
- a findByPrimaryKey in an entity session bean(ejb2)
- and then one get for each property of my entity (table).
Problem: one select is executed for each get.
If the transaction type is changed to requires the problem disappear. Only one select is executed.
Is there a way to have only one select without having a transaction?
Thanks for some help.
Mauro.
p.s. I'm working with weblogic 10.3.2.Hi, if your table is named 'spatial_table' and the geometry column is named 'geom' you can try the following sql-Statement:
select t.geom.mdsys.sdo_point.x,
t.geom.mdsys.sdo_point.y
from spatial_table t
( where (some condition like pk_idx=1...) )
How can I query for each coordination in column SDO_GEOMETRY type.
It includes only one point.
I was manualy inserted data into this colum like that
MDSYS.SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(3726060.73529363, 5565065.3738197, NULL), NULL, NULL)
But now how can I query for x and y.
CODI -
Query for individual coordinates in SDO_ORDINATES
Hi,
How can I query for each coordinate in column SDO_ORDINATES type ?
I have a geom object with the following data -
GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
SDO_GEOMETRY(2, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-80, 40, -80, 40))
How can I query for the individual coordinates in the SDO_ORDINATE_ARRAY?
Thanks,
ArchanaI have a geom object with the following data -
GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
SDO_GEOMETRY(2, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY(-80, 40, -80, 40))A few comments about this geometry:
The first value (sdo_gtype) is set to 2. This gtype is a line string.
If you are storing a 2D line string, you should use 2002
2000 means 2 dimensional, 2 is a line geometry.
The data you are storing as the line (-80,40,-80,40) is storing the same point twice. Consecutive points that are
the same when storing a line segment are not supported in Oracle Spatial. If all you are storing is a point use
sdo_gtype 2001 (for a point) and store the point in the sdo_point field.
To just select the information from the ordinate array:
select a.geom.sdo_ordinates from table a where....
Hope this helps,
Dan -
Approval Query for AP Invoices Containing Budget Related GL Account
Hi Experts,
I would like to create a approval template for all AP invoices that include a GL account that is related to the budget. Can you please help me with the approval query?
Thank you!
JaneHello Gordon Du,
"B1 approval will only apply to document level. If you want to check line level, only the first line can be subjected to."
I was thinking to trigger the approval process based on a document (AP invoice) containing relevant cost centres on a line by line basis as entered via one of the enabled dim fields.
Writing a trigger query for each cost centre effected? This does not appear to be a good solution, what is a better direction. Is there another way? (PO are not yet used via SAPB1)
Currently my invoices add, but do not trigger the approval process based on my attempts thus far.
Can the originator manually choose an approval pathway?
If this is against posting etiquette delete and advise.
I am a relative newbie to SAP B1, so am happy to be pointed to relevant help files. I arrived via google searching and arrived here.
Thankyou. -
Sql query - Selecting last recorded values for each date in specified period
Hello,
Can someone please help me with my problem.
I'm trying to get last recorded balance for each day for specific box (1 or 2) in specified period of days from ms access database using ADOTool.
I'm trying to get that information with SQL query but so far unsuccessfully...
My table looks like this:
Table name: TestTable
Date Time Location Box Balance
20.10.2014. 06:00:00 1 1 345
20.10.2014. 12:00:00 1 1 7356
20.10.2014. 18:45:00 1 1 5678
20.10.2014. 23:54:00 1 1 9845
20.10.2014. 06:00:02 1 2 35
20.10.2014. 12:00:04 1 2 756
20.10.2014. 18:45:06 1 2 578
20.10.2014. 23:54:10 1 2 845
21.10.2014. 06:00:00 1 1 34
21.10.2014. 12:05:03 1 1 5789
21.10.2014. 15:00:34 1 1 1237
21.10.2014. 06:00:00 1 2 374
21.10.2014. 12:05:03 1 2 54789
21.10.2014. 15:00:34 1 2 13237
22.10.2014. 06:00:00 1 1 8562
22.10.2014. 10:00:00 1 1 1234
22.10.2014. 17:03:45 1 1 3415
22.10.2014. 22:00:00 1 1 6742
22.10.2014. 06:00:05 1 2 562
22.10.2014. 10:00:16 1 2 123
22.10.2014. 17:03:50 1 2 415
22.10.2014. 22:00:10 1 2 642
23.10.2014. 06:00:00 1 1 9876
23.10.2014. 09:13:00 1 1 223
23.10.2014. 13:50:17 1 1 7768
23.10.2014. 19:47:40 1 1 3456
23.10.2014. 21:30:00 1 1 789
23.10.2014. 23:57:12 1 1 25
23.10.2014. 06:00:07 1 2 976
23.10.2014. 09:13:45 1 2 223
23.10.2014. 13:50:40 1 2 78
23.10.2014. 19:47:55 1 2 346
23.10.2014. 21:30:03 1 2 89
23.10.2014. 23:57:18 1 2 25
24.10.2014. 06:00:55 1 1 346
24.10.2014. 12:30:22 1 1 8329
24.10.2014. 23:50:19 1 1 2225
24.10.2014. 06:01:00 1 2 3546
24.10.2014. 12:30:26 1 2 89
24.10.2014. 23:51:10 1 2 25
Let's say the period is 21.10.2014. - 23.10.2014. and I want to get last recorded balance for box 1. for each day. The result should look like this:
Date Time Location Box Balance
21.10.2014. 15:00:34 1 1 1237
22.10.2014. 22:00:00 1 1 6742
23.10.2014. 23:57:12 1 1 25
So far I've managed to write a query that gives me balance for ONLY ONE date (date with highest time in whole table), but I need balance for EVERY date in specific period.
My incorrect code (didn't manage to implement "BETWEEN" for dates...):
SELECT TestTable.[Date], TestTable.[Time], TestTable.[Location], TestTable.[Box], TestTable.[Balance]
FROM TestTable
WHERE Time=(SELECT MAX(Time)
FROM TestTable
WHERE Location=1 AND Box=1 );
Tnx!
Solved!
Go to Solution.For loop
following query keep day (here 24 in below query) Variable from ( 1 to 28-29/30/31 as per month)
SELECT TOP 1 TestTable.[Date], TestTable.[Time], TestTable.[Location], TestTable.[Box], TestTable.[Balance]
FROM Test Table.
WHERE Time=(SELECT MAX(Time) FROM TestTable WHERE Location=1 AND Box=1 )
AND DATE = "2014-10-24";
PBP (CLAD)
Labview 6.1 - 2014
KUDOS ARE WELCOMED.
If your problem get solved then mark as solution. -
Query for aggregates for each date in a date range
Hi,
I want to generate a Trend report with a T-SQL proc, which needs following logic.
Input -
Date Range say '10/10/12' to '20/10/12' (Say to check the trend of Size of account in 20 days of Trend report)
Account balance is captured randomly, (i mean not every day)
Table with date looks like this..
--Account Balance Table
CREATE TABLE AccBanalce (
BranchId SMALLINT
NOT NULL,
AccId CHAR(9)
NOT NULL,
Amount DECIMAL(9,3)
NOT NULL,
SnapShotDate DATETIME
NOT NULL
CONSTRAINT PK_AccBanalce PRIMARY KEY NONCLUSTERED (AccId, SnapShotDate) )
GO
Create CLUSTERED INDEX CIx_AccBanalce ON AccBanalce (SnapShotDate)
GO
--Date Range table
CREATE TABLE DateRange ( StartDate DATETIME, EndDate DATETIME)
GO
--Date for the Account Balance Table
INSERT INTO AccBanalce (BranchId, AccId, Amount, SnapShotDate)
VALUES (1, 'C1-100', 10.4, '10/11/2010' ),
(1, 'G1-110', 20.5, '10/11/2010' ),
(2, 'GC-120', 23.7, '10/11/2010' ),
(2, 'Gk-130', 78.9, '10/13/2010' ),
(3, 'GH-150', 23.5, '10/14/2010'),
(1, 'C1-100', 31.8, '10/16/2010' ),
(1, 'G1-110', 54.8, '10/16/2010' ),
(2, 'GC-120', 99.0, '10/16/2010' ),
(3, 'Gk-130', 110.0, '10/16/2010' ),
(3, 'G5-140', 102.8, '10/16/2010' ),
(2, 'GC-120', 105, '10/18/2010' ),
(2, 'Gk-130', 56.7, '10/18/2010' ),
(1, 'C1-100', 84.3, '10/18/2010' ),
(1, 'G1-110', 75.2, '10/19/2010' ),
(2, 'GC-120', 64.9, '10/20/2010' ),
(3, 'GH-150', 84.0, '10/20/2010' ),
(1, 'C1-100', 78.0, '10/20/2010' ),
(1, 'G1-110', 89.5, '10/20/2010' )
GO
--Date for DateRange Table
INSERT INTO DateRange (StartDate, EndDate) VALUES
('2010-10-11 00:00:00.000', '2010-10-11 23:59:59.997'),
('2010-10-12 00:00:00.000', '2010-10-12 23:59:59.997'),
('2010-10-13 00:00:00.000', '2010-10-13 23:59:59.997'),
('2010-10-14 00:00:00.000', '2010-10-14 23:59:59.997'),
('2010-10-15 00:00:00.000', '2010-10-15 23:59:59.997'),
('2010-10-16 00:00:00.000', '2010-10-16 23:59:59.997'),
('2010-10-17 00:00:00.000', '2010-10-17 23:59:59.997'),
('2010-10-18 00:00:00.000', '2010-10-18 23:59:59.997'),
('2010-10-19 00:00:00.000', '2010-10-19 23:59:59.997'),
('2010-10-20 00:00:00.000', '2010-10-20 23:59:59.997')
GO
Question -
I want TOTAL Balance of all Accounts in a Branch per each day between 10/11/2010 to 10/20/2010
If the Snapshotdate (date) on which the account was not made an entery to AccBalance table, last available balance to be considered for that account.
like for account [C1-100] on 10/15/2010 the balance should be [10.4]
--Group By Branch
--Last valid Account balance to be considered.
I know, this is long solution, but any one who is expert in T-SQL can help me in this solution.
Thanks,
KrishnaThanks Himanshu You almost solved my issue...but can you provide the final output as following...
Actually you are aggregating the Amount, which is not required, as it is the total available in that account.
But the missing pint is I need the SUM of all the accounts for each DAY in a BRANCH.
The 3rd Result Query modified to get DAILY balances for each account as following...
--*RESULT*
SELECT a.AccId, a.StartDate,
(SELECT TOP 1 b.Amount
FROM #InterimOutput b
WHERE b.AccId = a.AccId and b.Amount > 0
AND B.StartDate<=A.StartDate ORDER BY B.StartDate DESC) as ToDateBal
FROM #InterimOutput a
ORDER BY a.AccId
go
Now I need SUM of all Account Balances AT each BRANCH on DAILY basics. Can you help on that?
Thanks again
Krishna -
QUERY FOR CUSTOMERS FULL DEBIT AND CREDIT WITH CLOSING BALANCE
Hi Friends,
I need query for CUSTOMERS FULL DEBIT AND CREDIT WITH CLOSING BALANCE for selection criteria from date and to date.
I know the Trial Balance Report will sort out this issue... but i need routeday wise report
1. Business Partner Master Data - i created one UDF field called U_Routeday (MONDAY, TUESDAY, WEDNESDAY,THURSDAY,FRIDAY)
2. The query should be like selection criteria
- Routeday [%0]
- Posting Date [%1]
- Posting Date [%2]
CardCode
Debit
Credit
Balance
D10503
25031.50
24711.50
2962.00
D10641
5466.00
7460.00
285.00
D10642
2866.00
142.00
give any helpful query ASAP... Thanks in advanceHi,
Try this query:
Declare
@fromdate as datetime
Declare
@Todate as datetime
Declare
@Code as nvarchar(25)
set
@fromdate = ( select min(Ta.[RefDate]) from OJDT ta where
Ta.[RefDate] >= [%0])
set
@Todate = ( select max(Tb.[RefDate]) from OJDT tb where Tb.[RefDate]
<= [%1])
set
@code = (select max(Tc.[ShortName]) from JDT1 tC where Tc.[ShortName]
= [%2])
SELECT
[Name] as AcctName, [Jan]= sum([1]), [Feb]= sum([2]), [Mar]=
sum([3]), [Apr]= sum([4]), [May]= sum([5]), [June]= sum([6]),
[July]= sum([7]), [Aug]= sum([8]), [Sept]= sum([9]), [Oct]=
sum([10]), [Nov]= sum([11]), [Dec]= sum([12]), total = sum
(isnull([1],0)+ isnull([2],0) + isnull([3],0) + isnull([4],0) +
isnull([5],0) + isnull([6],0) + isnull([7],0) + isnull([8],0) +
isnull([9],0)+ isnull([10],0) + isnull([11],0) + isnull([12],0))
from
(SELECT
T0.[ShortName] as Name, sum(T0.[Debit]-T0.[Credit]) as T,
month(T2.[RefDate]) as month FROM JDT1 T0 INNER JOIN OACT T1 ON
T0.Account = T1.AcctCode INNER JOIN OJDT T2 ON T0.TransId =
T2.TransId WHERE T2.[RefDate] between @fromdate and @todate and
T0.[ShortName] = @code GROUP BY T0.[ShortName],T2.[RefDate] ) S
Pivot
(sum(T)
For Month IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) P
group
by [Name],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]
Let me know your result.
Thanks & Regards,
Nagarajan -
Hi Guys,
What is the query for Accounts Payable Trial Balance (APXTRBAL) in 11.5.10?
I have to write an AP Invoice Aging Report in Discoverer to show all unpaid invoices that have been transferred into GL... Business wants it to match one-to-one with the AP Trial Balance standard report...
Business wants to run the report for any date in a past...
The report has two parameters:
As Of Date - the same as As of Date for the AP Trial Report
Trial Balance Run Date - the date when Trial Balance was run...
Conditions are:
TRUNC(Invoice Date) <=TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
TRUNC(NVL(Payment Date,'01-JAN-5000')) > TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
TRUNC(Invoice Creation Date) <= TRUNC(NVL(TO_DATE(:Trial Balance Run Date),SYSDATE))
Distr Accounting Date <= TRUNC(NVL(TO_DATE(:As Of Date),SYSDATE))
NVL(Distr Creation Date,Invoice Creation Date) <= TRUNC(NVL(TO_DATE(:Trial Balance Run Date),SYSDATE))
Show_Flag = 'YES', where:
Show_Flag = CASE WHEN ( NVL(Cancelled Date,'01-JAN-1901') > NVL(:As Of Date,SYSDATE) AND NVL(Inv Amount Aud,0) = 0 ) THEN 'YES' ELSE ( CASE WHEN NVL(Inv Amount Aud,0) = 0 THEN 'NO' ELSE 'YES' END ) END
There is a difference between the logic of my report, and the logic of AP Trial Balance...
Could you please advise what I'm missing?
Thanks,
IanaWhat is the query for Accounts Payable Trial Balance (APXTRBAL) in 11.5.10? You can get the code by opening the report in Reports Builder and get the query.
Or, enable trace/debug as per (FAQ: Common Tracing Techniques within the Oracle Applications 11i/R12 [ID 296559.1]).
Thanks,
Hussein -
How to Get Missing Dates for Each Support Ticket In My Query?
Hello -
I'm really baffled as to how to get missing dates for each support ticket in my query. I did a search for this and found several CTE's however they only provide ways to find missing dates in a date table rather than missing dates for another column
in a table. Let me explain a bit further here -
I have a query which has a list of support tickets for the month of January. Each support ticket is supposed to be updated daily by a support rep, however that isn't happening so the business wants to know for each ticket which dates have NOT been
updated. So, for example, I might have support ticket 44BS which was updated on 2014-01-01, 2014-01-05, 2014-01-07. Each time the ticket is updated a new row is inserted into the table. I need a query which will return the missing dates per
each support ticket.
I should also add that I DO NOT have any sort of admin nor write permissions to the database...none at all. My team has tried and they won't give 'em. So proposing a function or storable solution will not work. I'm stuck with doing everything
in a query.
I'll try and provide some sample data as an example -
CREATE TABLE #Tickets
TicketNo VARCHAR(4)
,DateUpdated DATE
INSERT INTO #Tickets VALUES ('44BS', '2014-01-01')
INSERT INTO #Tickets VALUES ('44BS', '2014-01-05')
INSERT INTO #Tickets VALUES ('44BS', '2014-01-07')
INSERT INTO #Tickets VALUES ('32VT', '2014-01-03')
INSERT INTO #Tickets VALUES ('32VT', '2014-01-09')
INSERT INTO #Tickets VALUES ('32VT', '2014-01-11')
So for ticket 44BS, I need to return the missing dates between January 1st and January 5th, again between January 5th and January 7th. A set-based solution would be best.
I'm sure this is easier than i'm making it. However, after playing around for a couple of hours my head hurts and I need sleep. If anyone can help, you'd be a job-saver :)
Thanks!!CREATE TABLE #Tickets (
TicketNo VARCHAR(4)
,DateUpdated DATETIME
GO
INSERT INTO #Tickets
VALUES (
'44BS'
,'2014-01-01'
INSERT INTO #Tickets
VALUES (
'44BS'
,'2014-01-05'
INSERT INTO #Tickets
VALUES (
'44BS'
,'2014-01-07'
INSERT INTO #Tickets
VALUES (
'32VT'
,'2014-01-03'
INSERT INTO #Tickets
VALUES (
'32VT'
,'2014-01-09'
INSERT INTO #Tickets
VALUES (
'32VT'
,'2014-01-11'
GO
GO
SELECT *
FROM #Tickets
GO
GO
CREATE TABLE #tempDist (
NRow INT
,TicketNo VARCHAR(4)
,MinDate DATETIME
,MaxDate DATETIME
GO
CREATE TABLE #tempUnUserdDate (
TicketNo VARCHAR(4)
,MissDate DATETIME
GO
INSERT INTO #tempDist
SELECT Row_Number() OVER (
ORDER BY TicketNo
) AS NROw
,TicketNo
,Min(DateUpdated) AS MinDate
,MAx(DateUpdated) AS MaxDate
FROM #Tickets
GROUP BY TicketNo
SELECT *
FROM #tempDist
GO
-- Get the number of rows in the looping table
DECLARE @RowCount INT
SET @RowCount = (
SELECT COUNT(TicketNo)
FROM #tempDist
-- Declare an iterator
DECLARE @I INT
-- Initialize the iterator
SET @I = 1
-- Loop through the rows of a table @myTable
WHILE (@I <= @RowCount)
BEGIN
-- Declare variables to hold the data which we get after looping each record
DECLARE @MyDate DATETIME
DECLARE @TicketNo VARCHAR(50)
,@MinDate DATETIME
,@MaxDate DATETIME
-- Get the data from table and set to variables
SELECT @TicketNo = TicketNo
,@MinDate = MinDate
,@MaxDate = MaxDate
FROM #tempDist
WHERE NRow = @I
SET @MyDate = @MinDate
WHILE @MaxDate > @MyDate
BEGIN
IF NOT EXISTS (
SELECT *
FROM #Tickets
WHERE TicketNo = @TicketNo
AND DateUpdated = @MyDate
BEGIN
INSERT INTO #tempUnUserdDate
VALUES (
@TicketNo
,@MyDate
END
SET @MyDate = dateadd(d, 1, @MyDate)
END
SET @I = @I + 1
END
GO
SELECT *
FROM #tempUnUserdDate
GO
GO
DROP TABLE #tickets
GO
DROP TABLE #tempDist
GO
DROP TABLE #tempUnUserdDate
Thanks,
Shridhar J Joshi
<If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'> -
How to apply Date condition for each month in 12 month period to my SQL query
I am trying to retrieve all Outstanding Problem tickets in my Trendline SSRS report.
I need to pull the OpenDate <= Last day of last month And CloseDate >= 1st day of current month
for each month in the Last 12 months. How do I accomplish this in my query?
I must also need to pull the oustanding tickets for the next 11 months in the same query
where it will automatically pull the outstanding tickets for when a new month comes
in out of the 12 month period?
Here's a sample of my query to pull July 2013 Outstanding Problem tickets:
Select OpenDate, CloseDate, Ref_Num, Type, status
From Call_Req
Where OpenDate <= '2013-07-31 00:00:00' And CloseDate >= '2013-08-01 00:00:00'
And Type = 'P'
My Results:
OpenDate
CloseDate
Ref_Num
Type
status
6/13/2013 7:41
8/26/2013 12:41
P1726456FY13
P
CL
6/13/2013 8:17
8/23/2013 12:31
P1726612FY13
P
CL
6/13/2013 10:17
9/6/2013 16:54
P1727352FY13
P
CL
7/12/2013 10:46
9/6/2013 10:23
P1812568FY13
P
CL
7/18/2013 10:17
9/6/2013 8:53
P1830452FY13
P
CL
7/29/2013 15:54
9/6/2013 16:16
P1862906FY13
P
CL
5/17/2013 20:51
8/22/2013 9:09
P1653380FY13
P
CL
5/30/2013 13:29
8/26/2013 7:33
P1685693FY13
P
CL
7/15/2013 14:14
9/7/2013 9:42
P1818874FY13
P
CL
6/7/2013 15:49
9/6/2013 16:46
P1712265FY13
P
CL
7/18/2013 10:25
9/7/2013 9:18
P1830516FY13
P
CL
7/24/2013 16:30
8/12/2013 18:26
P1849909FY13
P
CL
Talitha DavisWould this Work?
DECLARE @now DATE = GETDATE();
WITH months(lvl, daydate)
AS (
SELECT
1,
@now
UNION ALL
SELECT
lvl + 1,
DATEADD(MONTH, -1, daydate)
FROM months
WHERE lvl < 12
), dateranges(period, opendate, closedate)
AS (
SELECT
CAST(YEAR(daydate) AS CHAR(4))
+ '-'
+ RIGHT('0' + CAST(MONTH(daydate) AS varCHAR(2)), 2),
DATEADD(DAY, 0-DAY(daydate), daydate),
DATEADD(DAY, 1-DAY(daydate), daydate)
FROM months
SELECT
b.period,
a.OpenDate,
a.CloseDate,
a.Ref_Num,
a.Type,
a.status
From Call_Req a
INNER JOIN dateranges b
ON
a.OpenDate <= b.opendate
AND
a.CloseDate >= b.closedate
WHERE Type = 'P';
Microsoft Certified Trainer & MVP on SQL Server
Please "Propose as Answer" if you got an answer on your question, and vote for it as helpful to help other user's find a solution on a similar question quicker. -
Query to get possible values for each segment
Hi Gurus,
Give the flex value set id, what is the query to get all possible values for each segment (just like what is shown in the accounting flex window)?
Thank you,
BeibeiHi Beibei,
The table FND_FLEX_VALUES_VL can give you details of values available in the Value set i.e. 1 segment at a time.
If you are looking for a concatenated view of Accounting Flexfield values, that would be available in GL_CODE_COMBINATIONS table.
Regards,
Ivruksha
Maybe you are looking for
-
What happens (or can happen) when connecting to a website from a pdf file?
(Part of this post was copied from a question I posted earlier, to which I received two correct answers) I'm working with WIndows 7 Home Edition. I downloaded a pattern in pdf. One of the first times I had the document open, I saw a little message, a
-
I am unable to install the 4.3 update. The installer runs, extracts ("Extracting: Adobe_Lightroom_64.msi...") and then when the bar is complete the popup closes and nothing else happens. I can't beleive Adobe PERSISTS in sending out this BROKEN insta
-
Dear specialists, If only one item of many items in sales order not confirmed with full quantity by ATP, I want to put delivery block in that sales order. How can i do this in confiugration only? Thanks jcmtse
-
How to delete and avoid notes in mail application
CAN ANYBODY HELP ME ON THIS SUBJECT PLEASE
-
Best approach to migrate DB2 UDB V7 for z/OS
It seems that the latest migration workbench still doesn't work for DB2 UDB V7 on z/OS. What is the best approach to migrate DB2 UDB V7 for z/OS (about 10 GB) to Oracle 10g? Any suggestions/advices are greatly appreciated. Thanks. George