How do I make a 'union' query?
Hi,
How do I make a union query in JDev? Something like this.
select 'x' from dual
union
select 'y' from dual;
to get a rowsetinfo for showing in a combobox control? Don't ask
me to create view in the database:-). It may not be practical for
all such adhoc queries.
--Gopal
null
Hi
Sorry for that one. I didn't do my rtfm before asking that. There
is a constructor for QueryInfo which takes any sql statement.
--Gopal
Gopal (guest) wrote:
: Hi,
: How do I make a union query in JDev? Something like this.
: select 'x' from dual
: union
: select 'y' from dual;
: to get a rowsetinfo for showing in a combobox control? Don't
ask
: me to create view in the database:-). It may not be practical
for
: all such adhoc queries.
: --Gopal
null
Similar Messages
-
How Can I make the following query faster
Hi Guru
I want your valuable suggestion to make the following query faster.I did not write all required columns list. I gave here all those columns where I have conditon like decode,case when,or subquery
(SELECT CASE WHEN REPORTED_BY IS NULL THEN
(SELECT INITCAP(EMP_NAME) FROM HR_EMP WHERE EMP_NO = M.EMP_NO_RADIO)
ELSE (SELECT INITCAP(EMP_NAME) FROM HR_EMP WHERE EMP_NO = M.REPORTED_BY) END RADIOLOGIST_NAME,
(SELECT TEAM_NAME FROM DC_TECHTEAMMST WHERE TEAM_NO = M.GROUP_NO) GROUP_NAME,
CASE WHEN M.RESULT_ENTRY_LOCK_BY IS NOT NULL THEN 'R'
WHEN M.REPORT_DONE = 'D' THEN 'D'
WHEN M.REPORT_DONE = 'P' THEN 'P'
WHEN M.REPORT_DONE = 'F' THEN 'F'
WHEN NVL(M.IMG_CAPTURED,'X') NOT IN ('B','Y') OR M.QA_RESULT = 'F' THEN 'S'
WHEN NVL(M.IMG_CAPTURED,'X') IN ('B','Y') AND NVL(M.QA_RESULT,'X') NOT IN ('B','P') THEN 'Q'
wHEN NVL(M.IMG_CAPTURED,'X') IN ('B','Y') AND NVL(M.QA_RESULT,'X') IN ('B','P') THEN 'C'
END STATUS,
(SELECT DECODE(NVL(V.DELIVERY_STATUS,'N'),'E',3,'U',2,1)
FROM FN_VOUCHERCHD V WHERE V.VOUCHER_NO = M.VOUCHER_NO AND V.ITEM_NO = M.TEST_NO) DELIVERY_STATUS,
trunc((start_time-order_end)*24,0)||' hr'||':'||
decode(length(trunc(to_char(MOD((M.start_time-M.order_end)*24,1)*60),0)),2,to_char(trunc(to_char(MOD((M.start_time-M.order_end)*24,1)*60),0))
,1,to_char('0'||trunc(to_char(MOD((M.start_time-M.order_end)*24,1)*60),0)))||' mi' duration_order_capture,
DECODE(R.CONFIDENTIAL_PATIENT,'Y','*',NVL(R.NAME,R.name_lang_name||' '||R.name_lang_fname)) PAT_NAME,
FNC_PATIENTAGE(R.REG_NO,'',R.CONFIDENTIAL_PATIENT) pat_age,
DECODE(R.CONFIDENTIAL_PATIENT,'Y','*',R.PATIENT_SEX) PAT_SEX
FROM DC_MODALITYAPPOINTMENT M,DC_TESTMST T,OP_REGISTRATION R
WHERE M.ACCESSION_NO IS NOT NULL AND NVL(M.CANCEL_FLAG,'N') = 'N'
AND (NVL(T.SP_GEN,'S') = 'S' OR NVL(M.DOC_REQ_GEN,'N') = 'Y')
AND M.TEST_NO IS NOT NULL AND M.TEST_NO = T.TEST_NO AND M.REG_NO = R.REG_NO)
How can I make the above query faster.
Query condition or indexing whatever is preferable please guide me.
The approximate data of tables
DC_MODALITYAPPOINTMENT 2,000,000
A lot of updating is going on some columns of this table.all columns are not in the select list, Insertion is happend in batch process by back-end trigger of another table.
Primary key based one column,
OP_REGISTRATION 500,000
Daily insertion on this table around 500 records,updation is not much.
Primary key based one column 'reg_no'
DC_TESTMST
Total records of this table not more than 1500.This is setup table. Insertion and updation is not much on this table also
I have to create a view based on this query .
and I have to create another view to serve another purpose.
In the 2nd view I need this query as well as I need another query by using union all operator based on a table(dc_oldresult)
which have 1,600,000 records.There is no DML on this table
SELECT NVL((SELECT USER_DEFINE_TEST_NO FROM DC_TESTMST WHERE TEST_NO = SV_ID AND ROWNUM = 1 ),SV_ID) USER_D_EXAM_NO,
(SELECT TEST_TYPE FROM DC_TESTMST WHERE TEST_NO = SV_ID AND ROWNUM = 1 ) EXAM_TYPE,
NVL((SELECT TEST_NAME FROM DC_TESTMST WHERE TEST_NO = SV_ID AND ROWNUM = 1),'Exam Code: '||sv_id) EXAM_NAME,
(SELECT PAT_NAME FROM OP_REGISTRATION WHERE REG_NO = HN) PATIENT_NAME,
(SELECT PAT_AGE FROM OP_REGISTRATION WHERE REG_NO = HN) PATIENT_AGE,
(SELECT PAT_SEX FROM OP_REGISTRATION WHERE REG_NO = HN) PATIENT_GENDER
FROM DC_OLDRESULT
WHERE HN IS NOT NULL AND SV_ID IS NOT NULL AND UPPER(ACTIVE) = 'TRUE'
Should I make join DC_OLDRESULT, OP_REGISTRATION and DC_TESTMST? or The eixisting subquery is better?
I use OP_REGISTRATION and DC_TESTMST in both query
Thanks in advance
MokaremWhen your query takes too long ...
-
How can I make this complex query?
I donât know how can I do this complex query...
I have the tables Customers, Vehicles and Models. A customer can have 0-N Vehicles and a vehicle have 1 Model.
Customers: ID_Customer (PK), Name, LastName...
Vehicles: ID_Vehicle (PK), ID_Customer, ID_Model, date_sale
Models: ID_Modelo (PK), Model_Name
Then I need to know the buy average time (date_sale) between 2 models (ID_Model)
For example I have these Vehicles:
ID_Vehicle (PK)...ID_Customer...ID_Model....date_sale
1................................123....................1.............21/05/2000
2................................459....................3............ 16/08/2000
3................................123....................2............ 28/06/2001
4................................516....................1............ 09/09/2001
5................................459....................4............ 18/10/2002
6................................516....................2............ 20/12/2002
If I want to know the buy average time (date_sale) between ID_Model 1 and ID_Model 2 it is. (403 + 467) / 2 = 435 days !!!
* Customer 123 (model 1 to 2): 25/06/2001 â 21/05/2000 ==> 403 days
* Customer 516 (model 1 to 2): 01/12/2002 â 01/05/2000 ==> 467 days.
I need to do the query for all the combination models. For example If I have the Models 1, 2 and 3 I need to obtain:
Source_Model.....Target_Model....Buy_Average_Time
1......................................1....................... xxx days
1......................................2....................... xxx days
1......................................3....................... xxx days
2......................................1....................... xxx days
2......................................2....................... xxx days
2......................................3....................... xxx days
3......................................1....................... xxx days
3......................................2....................... xxx days
3......................................3....................... xxx days
If it is necessary I could create a table with the fields Source_Model, Target_Model and Buy_Average_Time for accelerate the query time response.
But how can I do this query??????????
Thanks very much!!!Hi,
Thanks for your reply but It is not correct for me because the Customer could have several vehicles in her life.
If I make the query with my examples data it is OK
ID_Vehicle (PK)...ID_Customer...ID_Model....date_sale
1................................123....................1.............21/05/2000
2................................459....................3............ 16/08/2000
3................................123....................2............ 28/06/2001
4................................516....................1............ 09/09/2001
5................................459....................4............ 18/10/2002
6................................516....................2............ 20/12/2002
select v1.id_model as source_model,
v2.id_model as target_model,
avg (v2.date_sale - v1.date_sale) || ' days' as buy_average_time
from vehicles v1,
vehicles v2
where v1.id_customer = v2.id_customer
and v2.date_sale > v1.date_sale
group by v1.id_model, v2.id_model;
I received:
SOURCE_MODEL TARGET_MODEL BUY_AVERAGE_TIME
..............1................................2.....................................435 days
..............3................................4.....................................793 days
But If I insert a new vehicle:
ID_Vehicle (PK)...ID_Customer...ID_Model....date_sale
7................................516....................3............ 16/08/2003
And I execute the query now I receive:
SOURCE_MODEL TARGET_MODEL BUY_AVERAGE_TIME
..............1................................2...........................435 days
..............1................................3...........................706 days
..............2................................3...........................239 days
..............3................................4...........................793 days
It is NO correct because I donât have the 1 (Source_model) to 3 (Target_model) combination in the Vehicles data!!! (I have 1 to 2 and 2 to 3 but NO 1 to 3!!!!).
Then the query is not OK for me!
Besides If I modify the Vehicle 7 data and put ID_Model = 2:
ID_Vehicle (PK)...ID_Customer...ID_Model....date_sale
7................................516....................2............ 16/08/2003
I received:
SOURCE_MODEL TARGET_MODEL BUY_AVERAGE_TIME
..............1................................2...........................525,33 days
..............2................................2...........................239 days
..............3................................4...........................793 days
It is NO correct because the BUY_AVERAGE_TIME for 1 to 2 combination is 435 days (the same of the original query) because I aggregate only the combination 2 to 2 with the ID_VEHICLE 7
Below I attach the examples scripts.
Could you help me with this query, please?
Thanks very much!
CREATE TABLE VEHICLES
ID_VEHICLE NUMBER(9),
ID_CUSTOMER NUMBER(9),
ID_MODEL NUMBER(9),
DATE_SALE DATE
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
LOGGING
NOCACHE
NOPARALLEL;
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
1, 123, 1, TO_Date( '05/21/2000 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
2, 459, 3, TO_Date( '08/16/2000 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
3, 123, 2, TO_Date( '06/28/2001 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
4, 516, 1, TO_Date( '09/09/2001 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
5, 459, 4, TO_Date( '10/18/2002 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
6, 516, 2, TO_Date( '12/20/2002 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
INSERT INTO VEHICLES ( ID_VEHICLE, ID_CUSTOMER, ID_MODEL, DATE_SALE ) VALUES (
7, 516, 2, TO_Date( '08/16/2003 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM'));
COMMIT;
CREATE TABLE MODELS
ID_MODELO NUMBER(9),
MODEL_NAME VARCHAR2(25 BYTE)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
LOGGING
NOCACHE
NOPARALLEL;
INSERT INTO MODELS ( ID_MODELO, MODEL_NAME ) VALUES (
1, 'MODEL 1');
INSERT INTO MODELS ( ID_MODELO, MODEL_NAME ) VALUES (
2, 'MODEL 2');
INSERT INTO MODELS ( ID_MODELO, MODEL_NAME ) VALUES (
3, 'MODEL 3');
INSERT INTO MODELS ( ID_MODELO, MODEL_NAME ) VALUES (
4, 'MODEL 4');
COMMIT;
CREATE TABLE CUSTOMERS
ID_CUSTOMER NUMBER(9),
NAME VARCHAR2(25 BYTE),
LASTNAME VARCHAR2(25 BYTE)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
LOGGING
NOCACHE
NOPARALLEL;
INSERT INTO CUSTOMERS ( ID_CUSTOMER, NAME, LASTNAME ) VALUES (
123, 'Customer 123', 'A');
INSERT INTO CUSTOMERS ( ID_CUSTOMER, NAME, LASTNAME ) VALUES (
459, 'Customer 459', 'B');
INSERT INTO CUSTOMERS ( ID_CUSTOMER, NAME, LASTNAME ) VALUES (
516, 'Customer 516', 'C');
INSERT INTO CUSTOMERS ( ID_CUSTOMER, NAME, LASTNAME ) VALUES (
318, 'Customer 318', 'D');
COMMIT; -
How Can I Make This Sql Query To Load Data Correctly (sql server)?
Hi guys
I have a datagridview where the third column is a custom column with all days
of a month. It takes data with a query who distinct the column Improve.
Here is the code :
Private Sub fill_impro()
dgImprove.Rows.Clear()
Try
Dim i As Integer = 0
Dim query As String = "SELECT Improve,Price,Active,Idate FROM (SELECT Improve,Price,Active,Idate, ROW_NUMBER() OVER (PARTITION BY Price ORDER BY Price) AS rn FROM tblImprove) tmp WHERE rn = 1"
cmd = New SqlCommand(query, clsMSSQL.con)
myDR = cmd.ExecuteReader
If myDR.HasRows Then
While myDR.Read
dgImprove.Rows.Add()
dgImprove.Rows(i).Cells(0).Value = myDR.GetDecimal(myDR.GetOrdinal("Price"))
dgImprove.Rows(i).Cells(1).Value = myDR.GetString(myDR.GetOrdinal("Improve"))
Dim myday As Integer = DatePart(DateInterval.Day, myDR.GetValue(myDR.GetOrdinal("Idate")))
dgImprove.Rows(i).Cells(myday + 1).Value = myDR.GetInt32(myDR.GetOrdinal("Active"))
i = i + 1
End While
End If
myDR.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Σφάλμα")
End Try
End Sub
And here is the result :
http://i60.tinypic.com/28gwf83.jpg
The column Active value is 1.
The problem is that column Active values are missing (red values in image).
How can i fix that ?
Thanks in advancetry like this
Dim Price As Decimal
Dim improve As String = String.Empty
While myDR.Read
Dim myday As Integer = DatePart(DateInterval.Day, myDR.GetValue(myDR.GetOrdinal("Idate")))
If Not (myDR.GetDecimal(myDR.GetOrdinal("Price")) = Price And myDR.GetString(myDR.GetOrdinal("Improve")) = improve) Then
i += 1
dgimprove.Rows.Add()
dgimprove.Rows(i).Cells(0).Value = myDR.GetDecimal(myDR.GetOrdinal("Price"))
dgimprove.Rows(i).Cells(1).Value = myDR.GetString(myDR.GetOrdinal("Improve"))
Price = myDR.GetDecimal(myDR.GetOrdinal("Price"))
improve = myDR.GetString(myDR.GetOrdinal("Improve"))
End If
dgimprove.Rows(i).Cells(myday + 1).Value = myDR.GetInt32(myDR.GetOrdinal("Active"))
End While
and change your sql statement to just
SELECT Improve,Price,Active,Idate FROM tblImprove WHERE Active = 1 -
How Can I Make This Sql Query To Load Data Correctly (sql server 2014)?
Hi guys
I have a datagridview where the third column is a custom column with all days
of a month. It takes data with a query who distinct the column Improve.
SELECT Improve,Price,Active,Idate FROM (SELECT Improve,Price,Active,Idate, ROW_NUMBER() OVER (PARTITION BY Improve ORDER BY Improve) AS rn FROM tblImprove) tmp WHERE rn = 1
And here is the result :
http://i60.tinypic.com/28gwf83.jpg
The column Active value is 1.
The problem is that column Active values are missing (red values in image).
How can i fix that ?
Thanks in advance
Hi,
Maybe you can try below code, I have changed the order by of the row_number(). Therefore it will sort on the date, and you will get the first date icm with improve cell. If this is not what you are looking for, please explain what the output should be.
SELECT Improve,Price,Active,Idate
FROM
SELECT Improve,Price,Active,Idate, ROW_NUMBER() OVER (PARTITION BY Improve ORDER BY ldate) AS rn
FROM tblImprove
) tmp WHERE rn = 1
Regards,
Reshma
Please Vote as Helpful if an answer is helpful and/or Please mark Proposed as Answer or Mark As Answer when question is answered -
How do I make a union of x number of tables
I have 4 tables named bob_1, bob_2...and I want to merge all the records together into one table called bob_all. I don't want any duplicates.
All the tables have only one column of the same type.If bob_all does not exist:
create table bob_all as
select * from bob_1
union
select * from bob_2
union
select * from bob_3
union
select * from bob_4;If bob_all exists:
insert into bob_all
select * from bob_1
union
select * from bob_2
union
select * from bob_3
union
select * from bob_4; -
Trying to narrow down a UNIONed query
I've compared 2 tables using MINUS. There should have been no difference. Since there was, I used UNION to display the corresponding rows between both tables. Now, in my result set, I have to search through many rows that don't have correspondents to find rows that do.
Basically how do I narrow the UNION query down so that only the corresponding pair rows that have differences in their columns show up? I'm trying to use the primary key which is a combination of the first 5 columns. My query looks like this:
select
TRADE_DATE, ORDER_ROUTE_UID, ORDER_ENTRY_DATE, LEG_NBR, GROUP_SEQ_NBR,
AFFL_FIRM_GROUP_ID, REC_CREAT_DATE
from ors_firm_affl_hist@MSS_JOBS_HISTP01_LINK01.WORLD
union
select
TRADE_DATE, ORDER_ROUTE_UID, ORDER_ENTRY_DATE, LEG_NBR, GROUP_SEQ_NBR,
AFFL_FIRM_GROUP_ID, REC_CREAT_DATE
from ors_firm_affl_hist;
How can I use TRADE_DATE, ORDER_ROUTE_UID, ORDER_ENTRY_DATE, LEG_NBR, GROUP_SEQ_NBR in order to have the query display only the rows that have correspondents in the other table as opposed to rows that just aren't in either table?Not sure if this meets your requirements;
SQL> with t1 as (
select 'jon' first_name, 'smith' last_name, 'j' middle_init from dual union all
select 'tom', 'a', 'a' from dual union all
select 'bob', 's', 's' from dual union all
select 'Stan', 'm', 'l' from dual union all
select 'Kyle', 'b', 'r' from dual union all
select 'Kenny', 'm', 'r' from dual union all
select 'Eric', 'c', 'c' from dual),
t2 as (
select 'jon' first_name, 'smith' last_name, 'p' middle_init from dual union all
select 'tom', 'a', 'l' from dual union all
select 'bob', 's', 'j' from dual union all
select 'Stan', 'm', 'l' from dual union all
select 'Kyle', 'b', 'r' from dual union all
select 'Kenny', 'm', 'r' from dual union all
select 'Eric', 'c', 'c' from dual)
select 'T1' source, first_name, last_name, middle_init from t1
minus
select 'T1' source, first_name, last_name, middle_init from t2
union all
select 'T2' source, first_name, last_name, middle_init from t2
minus
select 'T2' source, first_name, last_name, middle_init from t1
order by 2,3,1
SO FIRST LAST_ M
T1 bob s s
T2 bob s j
T1 jon smith j
T2 jon smith p
T1 tom a a
T2 tom a l
6 rows selected. -
How to get Average of a column in UNION query
Hi All,
I will try to explain the issue as much as I can and If you need clarification on any piece please let me know.
So, I have a Union Query with two sets of Criteria.
The first Criteria Brings the list of Buildings and a set of Measures for it. The second criteria does the same but with a different set of filters.
No I use a UNION between these both criteria and present them in a Pivot view so that we only have one row per each building. The values in each of the criteria in the UNION query are Summed
Ex:
Building
Metric 1
Metric 2
1
20
30
1
25
35
2
40
50
2
45
55
So as I show in the pivot the result is
Building
Metric 1
Metric 2
1
45
65
2
85
105
Now the issue is with the Grand Total.
I want the Grand Total to be an Average of the Buildings. So for Metric 1 The Grand Total should be (45+85)/2 because we have two buildings so the answer should be 65.
How can I get that.
Bottom Line: Need an Average as the Grand Total when the Aggregation rule on the column is set to Sum.
we use 11.1.6.10 versionHi VJ
What you are asking is impossible in the pivot table itself as you are asking one part of the pivot table to aggregate via one method, and another to aggregate via another method, on the same column ..
It can be done using a calculated item. For your example above you'd use the formula ( $1 + $2) / 2.
.. But thats HIGHLY explicit, and would only work if you KNOW how many buildings will come back in the query.. EVERYTIME.
Why not restructure the query to combine it into a single query using an combinations of filters with OR in between? -
How can I make a query by date with several TDMS files?
Hi,
I have a project that can write and read TDMS files everyday (a file for each day with date and time). There, I can import those files to excel (I choose a file and load it). But, I have a question: How can I make a query by date with those TDMS files? I'd like make a time stamp for start date and stop date, where I could compare the TDMS file dates and sum the values that are in the channels where these files are similar. For example, I save a file with "02/01/2013" name, in other day "03/01/2013", in other day "04/01/2013"... so, i'd like put in time stamp for start date "02/01/2013" file and to stop date "04/01/2013" file, than, sum all values that range with my TDMS files existing. How can I make that?
Thanks all,
ValHello Val_Auto.
You're Brazilian, no? Me too. = ^ - ^ =
I converted VI to version of your LabVIEW (8.5). Is attached in this reply.
This VI search all your TDMS in a range of dates and join them in a single TDMS. I hope this is what you wanted.
Query TDMS is the main VI. The TDMS VI Search changes the date format that out from calendar control (which is DD / MM / YYYY) to DD-MM-YYYY. This is because you can't name files using "/". I chose "-" but, if necessary, you should change to keep the same format of your TDMS files.
If you have any doubt as to its operation or how to make changes to adapt VI for your application, keep at your disposal.
Thank you for your contact; I hope have helped you and succeed in your application.
Wesley Rocha
Application Engineer
National Instruments Brazil
Visite a nossa comunidade em PORTUGUÊS!!!
Attachments:
Query TDMS.vi 62 KB
tdms search.vi 24 KB -
How to make reifications and query to obtain them
Hello;
If the option expressed in the previous thread is unavailable the other option is make reifications over the triple.
There is no documentation about how to make reifications and how is expressed in a SDO_RDF_MATCH query
Can you help me ?
Regards
IsidroExample: if you want to express the fact that :John :fatherOf :Matt is recorded in the document :birthCertificate, it could be done using reification as follows:
INSERT INTO family_rdf_data values(100,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/stmt1',
'http://www.w3.org/1999/02/22-rdf-syntax-ns#type',
'http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement'));
INSERT INTO family_rdf_data values(101,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/stmt1',
'http://www.w3.org/1999/02/22-rdf-syntax-ns#subject',
'http://www.example.org/family/John'));
INSERT INTO family_rdf_data values(102,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/stmt1',
'http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate',
'http://www.example.org/family/fatherOf'));
INSERT INTO family_rdf_data values(103,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/stmt1',
'http://www.w3.org/1999/02/22-rdf-syntax-ns#object',
'http:/www.example.org/family/Matt'));
INSERT INTO family_rdf_data values(104,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/stmt1',
'http://www.example.org/family/recordedIn',
'http://www.example.org/family/document/birthCertificate'));
A sample query involving such reified statements:
SELECT s, p, o
FROM TABLE(SDO_RDF_MATCH(
'(?stmt rdf:subject ?p) (?stmt rdf:predicate :fatherOf)
(?stmt rdf:object ?o)(?stmt :recordedIn ?s)',
SDO_RDF_Models('family'),
null,
.... -
11GR2
=-----------------------------------
I am using below querry to compare two table that has same name, under two different users... But after making storage information false like below and if the storage information is different on column level than it create "Alter modify " statements for the column ... How can I make my query to compare only columns of two tables... not the storage information?
begin
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY', TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SEGMENT_ATTRIBUTES', FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE', FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'TABLESPACE',FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'CONSTRAINTS',FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'REF_CONSTRAINTS',FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'CONSTRAINTS_AS_ALTER',FALSE);
End;
select REGEXP_REPLACE(dbms_metadata_diff.compare_alter('TABLE','TABLE_NAME_A','TABLE_NAME_A','USER1','USER2'),('USER1...'),'', 1, 0, 'i') from dualI am using below querry to compare two table that has same name, under two different users... But after making storage information false like below and if the storage information is different on column level than it create "Alter modify " statements for the column ... How can I make my query to compare only columns of two tables... not the storage information?
If you want help you have to SHOW us what you are doing and how you are doing it; you can't just try to tell us in your own words.
We can't see your computer screen. -
Customised sub-total via UNION query - how to exclude from totals?
Hi,
I have a client requirement that a couple of companies have their own sub-total in a report, a treatment which applies to no other companies in their group.
I have achieved this via a union all, but they also want a total of companies.
Is there anyway to emulate a Grand Total, other than another union query such that the double count is not double counted?
thanks for any ideas.
Robert.only solution which i can think of is to create another union request for the grand total.. this way you wont add up your sub totals twice..
-
How can i make the optimiser to skip this full table scan ??
Hi,
I am trying to tune the below query, I have checked up all the possibilities to skip the full table scan on vhd_calldesh_archive, But am unable to find the predicate in the where clause, which is letting the optimiser to choose the full table scan on vhd_calldesk_archive table, which is very large one. how can i make the optimiser to skip this full table scan.
Please check the below sql script and explain plan ,
SELECT a.call_id, a.entry_date,
NVL (INITCAP (b.full_name), caller_name) AS caller_name,
c.description AS org_desc, a.env_id, i.env_desc, a.appl_id,
d.appl_desc, a.module_id, e.module_desc, a.call_type_id,
f.call_type_desc, a.priority, a.upduserid,
INITCAP (g.full_name) AS lastupdated_username, a.call_desc, h.mode_desc,
a.received_time,a.assignment_team, a.status,
ROUND (lcc.pkg_com.fn_datediff ('MI',
a.entry_date,
a.status_date
) AS elapsed_time,
ROUND (lcc.pkg_com.fn_datediff ('MI',
a.entry_date,
a.status_date
) AS resolved_min,
CASE
WHEN a.orgid in (1,100,200) THEN a.orgid
ELSE j.regionorgid
END AS region
,(SELECT coalesce(MAX(upddate),a.upddate) FROM lcc.vhd_callstatus stat WHERE stat.call_id = a.call_id
) as stat_upddate
,(SELECT team_desc from lcc.vhd_teams t where t.team_id = a.assignment_team) as team_desc
,a.eta_date
,coalesce(a.caller_contact, b.telephone) AS caller_contact
,coalesce(a.caller_email, b.email) as email
,a.affected_users
,a.outage_time
,a.QA_DONE
,a.LAST_ACTION_TEAM
,a.LAST_ACTION_USER
,INITCAP (k.full_name) AS last_action_username
,a.last_action_date
,l.team_desc as last_action_teamdesc
,a.refid
,INITCAP (lu.full_name) AS logged_name
,a.pmreview
,a.status as main_status
FROM lcc.vhd_calldesk_archive a
LEFT OUTER JOIN lcc.lcc_userinfo_details b ON b.user_name = a.caller_id
INNER JOIN lcc.com_organization c ON c.code = a.orgid
INNER JOIN lcc.vhd_applications d ON d.appl_id = a.appl_id
INNER JOIN lcc.vhd_modules e ON e.appl_id = a.appl_id AND e.module_id = a.module_id
INNER JOIN lcc.vhd_calltypes f ON f.call_type_id = a.call_type_id
INNER JOIN lcc.com_rptorganization j ON j.orgid = a.orgid AND j.tree = 'HLPDK'
LEFT OUTER JOIN lcc.lcc_userinfo_details g ON g.user_name = a.upduserid
LEFT OUTER JOIN lcc.vhd_callmode h ON h.mode_id = a.mode_id
LEFT OUTER JOIN lcc.vhd_environment i ON i.appl_id = a.appl_id AND i.env_id = a.env_id
LEFT OUTER JOIN lcc.lcc_userinfo_details k ON k.user_name = a.last_action_user
LEFT OUTER JOIN lcc.vhd_teams l ON l.team_id = a.last_action_user
LEFT OUTER JOIN (select CALL_ID,upduserid FROM lcc.VHD_CALLDESK_HISTORY P where upddate
in ( select min(upddate) from lcc.VHD_CALLDESK_HISTORY Q WHERE Q.CALL_ID = P.CALL_ID
group by call_id)) ku
ON ku.call_id = a.call_id
LEFT OUTER JOIN lcc.lcc_userinfo_details lu ON NVL(ku.upduserid,A.upduserid) = lu.user_name;
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 2104 | 3667K| 37696 |
| 1 | UNION-ALL | | | | |
| 2 | NESTED LOOPS OUTER | | 2103 | 3665K| 37683 |
| 3 | VIEW | | 2103 | 3616K| 35580 |
| 4 | NESTED LOOPS OUTER | | 2103 | 823K| 35580 |
| 5 | NESTED LOOPS OUTER | | 2103 | 774K| 33477 |
| 6 | NESTED LOOPS OUTER | | 2103 | 685K| 31374 |
| 7 | NESTED LOOPS | | 2103 | 636K| 29271 |
| 8 | NESTED LOOPS | | 2103 | 603K| 27168 |
| 9 | NESTED LOOPS OUTER | | 2103 | 558K| 25065 |
| 10 | NESTED LOOPS OUTER | | 2103 | 515K| 22962 |
| 11 | NESTED LOOPS | | 2103 | 472K| 20859 |
| 12 | NESTED LOOPS | | 2103 | 429K| 18756 |
| 13 | NESTED LOOPS OUTER | | 4826 | 890K| 13930 |
| 14 | NESTED LOOPS OUTER | | 4826 | 848K| 9104 |
| 15 | NESTED LOOPS | | 4826 | 754K| 4278 |
|* 16 | TABLE ACCESS FULL | COM_RPTORGANIZATION | 75 | 1050 | 3 |
| 17 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK | 64 | 9344 | 57 |
|* 18 | INDEX RANGE SCAN | VHD_CALLDSK_ORGID | 2476 | | 7 |
| 19 | VIEW PUSHED PREDICATE | | 1 | 20 | 1 |
|* 20 | FILTER | | | | |
| 21 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 20 | 2 |
|* 22 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
|* 23 | FILTER | | | | |
| 24 | SORT GROUP BY NOSORT | | 1 | 12 | 2 |
| 25 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 12 | 2 |
|* 26 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
| 27 | TABLE ACCESS BY INDEX ROWID | VHD_CALLMODE | 1 | 9 | 1 |
|* 28 | INDEX UNIQUE SCAN | VHD_CALLMOD_MODID_PK | 1 | | |
| 29 | TABLE ACCESS BY INDEX ROWID | VHD_APPLICATIONS | 1 | 20 | 1 |
|* 30 | INDEX UNIQUE SCAN | VHD_APPL_APPLID_PK | 1 | | |
| 31 | TABLE ACCESS BY INDEX ROWID | VHD_CALLTYPES | 1 | 21 | 1 |
|* 32 | INDEX UNIQUE SCAN | VHD_CALLTYP_ID_PK | 1 | | |
| 33 | TABLE ACCESS BY INDEX ROWID | VHD_TEAMS | 1 | 21 | 1 |
|* 34 | INDEX UNIQUE SCAN | VHD_TEAMID_PK | 1 | | |
| 35 | TABLE ACCESS BY INDEX ROWID | VHD_ENVIRONMENT | 1 | 21 | 1 |
|* 36 | INDEX UNIQUE SCAN | VHD_ENV_APLENVID_PK | 1 | | |
| 37 | TABLE ACCESS BY INDEX ROWID | VHD_MODULES | 1 | 22 | 1 |
|* 38 | INDEX UNIQUE SCAN | VHD_MOD_APLMOD_ID_PK | 1 | | |
| 39 | TABLE ACCESS BY INDEX ROWID | COM_ORGANIZATION | 1 | 16 | 1 |
|* 40 | INDEX UNIQUE SCAN | COM_ORG_PK | 1 | | |
| 41 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 |
|* 42 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 43 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 43 |
|* 44 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 45 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
|* 46 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 47 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
|* 48 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 49 | NESTED LOOPS OUTER | | 1 | 1785 | 13 |
| 50 | VIEW | | 1 | 1761 | 12 |
| 51 | NESTED LOOPS OUTER | | 1 | 1656 | 12 |
| 52 | NESTED LOOPS OUTER | | 1 | 1632 | 11 |
| 53 | NESTED LOOPS OUTER | | 1 | 1608 | 10 |
| 54 | NESTED LOOPS | | 1 | 1565 | 9 |
| 55 | NESTED LOOPS | | 1 | 1549 | 9 |
| 56 | NESTED LOOPS | | 1 | 1535 | 9 |
| 57 | NESTED LOOPS OUTER | | 1 | 1513 | 8 |
| 58 | NESTED LOOPS OUTER | | 1 | 1492 | 7 |
| 59 | NESTED LOOPS | | 1 | 1471 | 6 |
| 60 | NESTED LOOPS | | 1 | 1450 | 5 |
| 61 | NESTED LOOPS OUTER | | 1 | 1430 | 4 |
| 62 | NESTED LOOPS OUTER | | 1 | 1421 | 3 |
| 63 | TABLE ACCESS FULL | VHD_CALLDESK_ARCHIVE | 1 | 1401 | 2 |
| 64 | VIEW PUSHED PREDICATE | | 1 | 20 | 1 |
|* 65 | FILTER | | | | |
| 66 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 20 | 2 |
|* 67 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
|* 68 | FILTER | | | | |
| 69 | SORT GROUP BY NOSORT | | 1 | 12 | 2 |
| 70 | TABLE ACCESS BY INDEX ROWID| VHD_CALLDESK_HISTORY | 1 | 12 | 2 |
|* 71 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
| 72 | TABLE ACCESS BY INDEX ROWID | VHD_CALLMODE | 1 | 9 | 1 |
|* 73 | INDEX UNIQUE SCAN | VHD_CALLMOD_MODID_PK | 1 | | |
| 74 | TABLE ACCESS BY INDEX ROWID | VHD_APPLICATIONS | 1 | 20 | 1 |
|* 75 | INDEX UNIQUE SCAN | VHD_APPL_APPLID_PK | 1 | | |
| 76 | TABLE ACCESS BY INDEX ROWID | VHD_CALLTYPES | 1 | 21 | 1 |
|* 77 | INDEX UNIQUE SCAN | VHD_CALLTYP_ID_PK | 1 | | |
| 78 | TABLE ACCESS BY INDEX ROWID | VHD_TEAMS | 1 | 21 | 1 |
|* 79 | INDEX UNIQUE SCAN | VHD_TEAMID_PK | 1 | | |
| 80 | TABLE ACCESS BY INDEX ROWID | VHD_ENVIRONMENT | 1 | 21 | 1 |
|* 81 | INDEX UNIQUE SCAN | VHD_ENV_APLENVID_PK | 1 | | |
| 82 | TABLE ACCESS BY INDEX ROWID | VHD_MODULES | 1 | 22 | 1 |
|* 83 | INDEX UNIQUE SCAN | VHD_MOD_APLMOD_ID_PK | 1 | | |
| 84 | TABLE ACCESS BY INDEX ROWID | COM_RPTORGANIZATION | 1 | 14 | |
|* 85 | INDEX UNIQUE SCAN | COM_RPTORG_PK | 1 | | |
| 86 | TABLE ACCESS BY INDEX ROWID | COM_ORGANIZATION | 1 | 16 | |
|* 87 | INDEX UNIQUE SCAN | COM_ORG_PK | 1 | | |
| 88 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 43 |
|* 89 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 90 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 |
|* 91 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 92 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
|* 93 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
| 94 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
|* 95 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
Predicate Information (identified by operation id):
16 - filter("J"."TREE"='HLPDK')
18 - access("J"."ORGID"="A"."ORGID")
20 - filter( EXISTS (SELECT /*+ */ 0 FROM "LCC"."VHD_CALLDESK_HISTORY" "Q" WHERE "Q"."CALL_ID"=:B1
"Q"."CALL_ID" HAVING MIN("Q"."UPDDATE")=:B2))
22 - access("SYS_ALIAS_2"."CALL_ID"="A"."CALL_ID")
23 - filter(MIN("Q"."UPDDATE")=:B1)
26 - access("Q"."CALL_ID"=:B1)
28 - access("H"."MODE_ID"(+)="A"."MODE_ID")
30 - access("D"."APPL_ID"="A"."APPL_ID")
32 - access("F"."CALL_TYPE_ID"="A"."CALL_TYPE_ID")
34 - access("L"."TEAM_ID"(+)="A"."LAST_ACTION_TEAM")
36 - access("I"."APPL_ID"(+)="A"."APPL_ID" AND "I"."ENV_ID"(+)="A"."ENV_ID")
38 - access("E"."APPL_ID"="A"."APPL_ID" AND "E"."MODULE_ID"="A"."MODULE_ID")
40 - access("C"."CODE"="A"."ORGID")
42 - access("K"."USER_NAME"(+)="A"."LAST_ACTION_USER")
44 - access("B"."USER_NAME"(+)="A"."CALLER_ID")
46 - access("G"."USER_NAME"(+)="A"."UPDUSERID")
48 - access("LU"."USER_NAME"(+)=NVL("SYS_ALIAS_4"."UPDUSERID_162","SYS_ALIAS_4"."UPDUSERID_25"))
65 - filter( EXISTS (SELECT /*+ */ 0 FROM "LCC"."VHD_CALLDESK_HISTORY" "Q" WHERE "Q"."CALL_ID"=:B1
"Q"."CALL_ID" HAVING MIN("Q"."UPDDATE")=:B2))
67 - access("SYS_ALIAS_2"."CALL_ID"="SYS_ALIAS_1"."CALL_ID")
68 - filter(MIN("Q"."UPDDATE")=:B1)
71 - access("Q"."CALL_ID"=:B1)
73 - access("H"."MODE_ID"(+)="SYS_ALIAS_1"."MODE_ID")
75 - access("D"."APPL_ID"="SYS_ALIAS_1"."APPL_ID")
77 - access("F"."CALL_TYPE_ID"="SYS_ALIAS_1"."CALL_TYPE_ID")
79 - access("L"."TEAM_ID"(+)=TO_NUMBER("SYS_ALIAS_1"."LAST_ACTION_USER"))
81 - access("I"."APPL_ID"(+)="SYS_ALIAS_1"."APPL_ID" AND "I"."ENV_ID"(+)="SYS_ALIAS_1"."ENV_ID")
83 - access("E"."APPL_ID"="SYS_ALIAS_1"."APPL_ID" AND "E"."MODULE_ID"="SYS_ALIAS_1"."MODULE_ID")
85 - access("SYS_ALIAS_1"."ORGID"="J"."ORGID" AND "J"."TREE"='HLPDK')
87 - access("C"."CODE"="SYS_ALIAS_1"."ORGID")
89 - access("B"."USER_NAME"(+)="SYS_ALIAS_1"."CALLER_ID")
91 - access("SYS_ALIAS_1"."UPDUSERID"="G"."USER_NAME"(+))
93 - access("K"."USER_NAME"(+)="SYS_ALIAS_1"."LAST_ACTION_USER")
95 - access("LU"."USER_NAME"(+)=NVL("SYS_ALIAS_3"."UPDUSERID_162","SYS_ALIAS_3"."UPDUSERID_25"))
Note: cpu costing is offI've tried to look thru your sql and changed it a bit. Of course not testet :-)
Your problem isn't the archive table! I tried to remove the 2 selects from the select-clause. Furthermore you have a lot of nested loops in your explain, which is a performance-killer. Try getting rid of them, perhaps use /*+ USE_HASH(?,?) */.
SELECT a.call_id, a.entry_date,
NVL (INITCAP (b.full_name), caller_name) AS caller_name, c.description AS org_desc, a.env_id, i.env_desc, a.appl_id,
d.appl_desc, a.module_id, e.module_desc, a.call_type_id, f.call_type_desc, a.priority, a.upduserid,
INITCAP (g.full_name) AS lastupdated_username, a.call_desc, h.mode_desc, a.received_time, a.assignment_team, a.status,
ROUND (lcc.pkg_com.fn_datediff ('MI', a.entry_date, a.status_date)) AS elapsed_time,
ROUND (lcc.pkg_com.fn_datediff ('MI', a.entry_date, a.status_date)) AS resolved_min,
CASE
WHEN a.orgid IN (1, 100, 200)
THEN a.orgid
ELSE j.regionorgid
END AS region,
COALESCE (stat.upddate, a.upddate) AS stat_upddate,
t.team_desc, a.eta_date,
COALESCE (a.caller_contact, b.telephone) AS caller_contact,
COALESCE (a.caller_email, b.email) AS email, a.affected_users,
a.outage_time, a.qa_done, a.last_action_team, a.last_action_user,
INITCAP (k.full_name) AS last_action_username, a.last_action_date,
l.team_desc AS last_action_teamdesc, a.refid,
INITCAP (lu.full_name) AS logged_name, a.pmreview,
a.status AS main_status
FROM lcc.vhd_calldesk_archive a, lcc.lcc_userinfo_details b, lcc.com_organization c,
lcc.vhd_applications d, lcc.vhd_modules e, lcc.vhd_calltypes f, lcc.com_rptorganization j,
lcc.lcc_userinfo_details g, lcc.vhd_callmode h, lcc.vhd_environment i, lcc.lcc_userinfo_details k,
lcc.vhd_teams l,
(SELECT call_id, upduserid
FROM lcc.vhd_calldesk_history p
WHERE upddate IN (SELECT MIN (upddate)
FROM lcc.vhd_calldesk_history q
WHERE q.call_id = p.call_id
GROUP BY call_id)) ku,
lcc.lcc_userinfo_details lu,
(SELECT call_id, MAX (upddate)
FROM lcc.vhd_callstatus
GROUP BY call_id) stat,
lcc.vhd_teams t
WHERE a.caller_id = b.user_name(+)
AND a.orgid = c.code
AND a.appl_id = d.appl_id
AND a.appl_id = e.appl_id
AND a.module_id = e.module_id
AND a.call_type_id = f.call_type_id
AND a.orgid = j.orgid
AND j.tree = 'HLPDK'
AND a.upduserid = g.user_name(+)
AND a.mode_id = h.mode_id(+)
AND a.appl_id = i.appl_id(+)
AND a.env_id = i.env_id(+)
AND a.last_action_user = k.user_name(+)
AND a.last_action_user = l.team_id(+)
AND a.call_id = ku.call_id(+)
AND NVL (ku.upduserid, a.upduserid) = lu.user_name(+)
AND a.call_id = stat.call_id
AND a.assignment_team = t.team_id; -
How to use the SQL 'union' in Business Objects???
Post Author: tatun
CA Forum: Data Integration
Hi eveyone. I have to write the following SQL code in Business Objects.The code has some 'union' inside the same query. I have tried to make some unions in the Data Provider, but I can just do 8 unions, and I need to do much more.
How could I do it?
SELECT '20 ERRORES' TIPO, COUNT() NUM, CONCAT (TO_CHAR(ROUND((count()*100)/8023,2)),' %') PORCENTAJE
FROM PALETS
WHERE posicion is not null
and PALET NOT IN
-- MATERIAS PRIMAS
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.tipo_producto = 'ROH'
and (p.cod_producto like '%QA%' or p.cod_producto like 'E00%' or p.cod_producto like 'PU%')
and p.estado_m not in ('E','P','F','M','A','B','C')
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- GRANELES
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and ((p.tipo_producto = 'ROH'
and (p.cod_producto not like '%QA%'
and p.cod_producto not like 'E00%'
and p.cod_producto not like 'PU%'))
or p.tipo_producto = 'HALB')
and p.estado_m not in ('E','P','F','M','A','B','C')
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- MATERIAL DE ACONDICIONAMIENTO
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.tipo_producto = 'VERP'
and p.estado_m not in ('E','P','F','M','A','B','C')
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- PRODUCTO TERMINADO PLANTA 0008
select P.PALET
from palets p, estanteria e, license l
where p.posicion = e.posicion
and p.palet = l.single_plate
and p.tipo_producto = 'FERT'
and p.estado_m not in ('E','P','F','M','A','B','C')
and p.posicion is not null
and e.estado = 'O'
and l.ctry_code = '0008'
and p.clase_palet = 'P'
union
-- PRODUCTO TERMINADO PLANTA 0012
select P.PALET
from palets p, estanteria e, license l
where p.posicion = e.posicion
and p.palet = l.single_plate
and p.tipo_producto = 'FERT'
and p.estado_m not in ('E','P','F','M','A','B','C')
and p.posicion is not null
and e.estado = 'O'
and l.ctry_code = '0012'
and p.clase_palet = 'P'
union
-- PALETS ASOCIADOS A ORDENES DE EXPORTACIONES
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'E'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- PALETS ASOCIADOS A ORDENES DE EMPAQUETADO
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'P'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- PALETS ASOCIADOS A ORDENES DE FABRICACION
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'F'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- PALETS DE MANTENIMIENTO
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'A'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- MUESTRAS DE RETENCION
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'B'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- MISCELANEO DE SUSTANCIA CONTROLADA
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.estado_m = 'C'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- MISCELANEOS
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.tipo_producto = 'NONI'
and p.estado_m = 'M'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- PALETS VACIOS
select P.PALET
from palets p, estanteria e
where p.posicion = e.posicion
and p.tipo_producto = 'NONI'
and p.estado_m = 'D'
and p.posicion is not null
and e.estado = 'O'
and p.clase_palet = 'P'
union
-- UNIDADES DE TRANSPORTE
select p.palet
from palets p, estanteria e
where p.posicion = e.posicion
and p.clase_palet = 'T')
ThanksPost Author: bhofmans
CA Forum: Data Integration
In Data Integrator we provide UNION functionality via the MERGE transform. However, it looks like your question is related the the IDD product line (Business Objects Enterprise), so please post your question to the appropriate sub-forum to get answers for BOE.
Thanks, -
Make this select query to Select Insert query
Hi,
How to make this select query to select Insert query..
;WITH DateDim AS
SELECT CAST('1900-01-01' AS DATETIME) StartDate
UNION ALL
SELECT StartDate + 1
FROM DateDim
WHERE StartDate + 1 <= '2099-12-31'
SELECT CAST(CONVERT(CHAR(8),CAST(StartDate AS DATETIME),112) AS INT) AS DateKey
, StartDate
, DATEPART(dw, StartDate) AS DayNumberOfWeek
, DATENAME(dw, StartDate) AS EnglishDayNameOfWeek
, DAY(StartDate) AS DayNumberOfMonth
, (CASE WHEN MONTH(StartDate)>=1 AND MONTH(StartDate) <=6 THEN 1 ELSE 2 END) AS CalendarSemester
FROM DateDim
OPTION (MAXRECURSION 0)
GOThe final solution is
;WITH DateDim AS
SELECT CAST('1900-01-01' AS DATETIME) StartDate
UNION ALL
SELECT StartDate + 1
FROM DateDim
WHERE StartDate + 1 <= '2099-12-31'
SELECT CAST(CONVERT(CHAR(8),CAST(StartDate AS DATETIME),112) AS INT) AS DateKey
, StartDate
, DATEPART(dw, StartDate) AS DayNumberOfWeek
, DATENAME(dw, StartDate) AS EnglishDayNameOfWeek
, DAY(StartDate) AS DayNumberOfMonth
, (CASE WHEN MONTH(StartDate)>=1 AND MONTH(StartDate) <=6 THEN 1 ELSE 2 END) AS CalendarSemester
Into new_tablenameFROM
DateDim
OPTION (MAXRECURSION 0)
GO
Maybe you are looking for
-
Db_keep_cache_size and cache in dba_tables
Hello All: I have recently alter a table to cache it in db_keep_cache pool however i do not see the change reflected in dba_tables in cache column. Is this expected behaviour? Thanks S~
-
package com.bindhuw.saro.corpactions.control; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.impl.Log4JLogger; import org.apache.log4j.LogManager; import c
-
Error while playing an audio file. Please help!
Hi all, I'm trying to transfer an audio file from server to client and play it after transferring the whole file. But the play command opens up the player and gives me the error saying the file is corrupted. I see that some of the lines in the copied
-
Cansomeone tell me where and how photos are stored?
When one imports photos into iphoto I'm wondering if it actually makes a copy, therefore making my storage system redundant? I keep my photo folders on my hard drive but would like to make some albums for printing. Thing is, I don't want the same pho
-
Gcviewer (diagnostics tool) for verbose:gc,memory logfile
Hi there, gc-diagnostics-logs generated by sun/oracle jdk (option: -verbose:gc -Xloggc:/tmp/gc.log) can be viewed/analysed via various tools (for example gcviewer from tagtraum industries). gc-logs generated by jrockit have another formatting which c