Merging two tables to a view
I have two tables that I merge into one view.
All rows from the two tables to be merged into one view.
Table 1 no criteria:
MATERIAL PLANT QUANTITY UNIT POSTING_DATETable 2 with criteria:
MATERIAL PLANT SALES_QUANTITY UNIT POSTING_DATE RECORD_TYPE
Where RECORD_TYPE IN('O','U')The view should look like this:
MATERIAL PLANT QUANTITY UNIT POSTING_DATEI'm going nowhere, what do I do?
Hi,
Perhaps you want something like this:
CREATE OR REPLACE VIEW table_1_and_ou_from_2
AS
SELECT material, plant, quantity, unit, posting_date
FROM table1
UNION ALL
SELECT material, plant, sales_quantity, unit, posting_date
FROM table2
WHERE record_type IN ('O', 'U')
;The columns in the view will have the same names as the columns in the 1st branch of the UNION, so the 3rd column will be called quantity, not sales_quantity.
I hope this answers your question.
If not, then, as mentioned above, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data (that is, the contents of the view).
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ {message:id=9360002}
Similar Messages
-
How to CREATE VIEW to merge two tables each of which has CLOB-typed column
I failed in creating a view to merge two tables that have CLOB-type column each.
The details are:
Database: Oracle 9i (9.2.0)
Two tables "test" and "test_bak", each of which has the following structure:
ID Number(10, 0)
DUMMY VARCHAR2(20)
DUMMYCLOB CLOB
The following operation fails:
create view dummyview (id, dummy, dummyclob) as
select id, dummy, dummyclob from test
union
select id, dummy, dummyclob from test_bak;
I was announced:
select test.id, test.dummy, test.dummyclob
ERROR in line 2:
ORA-00932: inconsistent data type: required - , but CLOB presented.
But if creating views from only ONE table with CLOB-type columns, or from two tables WITHOUT CLOB-typed columns, the creation will succeed. The following 1) and 2) will succeed, both:
1) one table, with CLOB-typed column
create view dummyview (id, dummy, dummyclob) as
select id, dummy, dummyclob from test;
2) two tables, without CLOB-typed columns
create view dummyview (id, dummy) as
select id, dummy from test
union
select id, dummy from test_bak;
I want to merge the two tables all, with complete columns, how to write the CREATE VIEW SQL statement?
many thanks in advanceDong Wenyu,
No.
But you could do this:
SELECT source.*, nvl (tab1.clob_column, tab2.clob_column)
FROM your_table1 tab1, your_table2 tab2, (
SELECT primary_key, ...
FROM your_table1
UNION
SELECT primary_key, ...
FROM your_table2
) source
WHERE source.primary_key = tab1.id (+)
AND source.primary_key = tab2.id (+)
In other words, do the set operation (UNION (ALL)/INTERSECT/MINUS) on just the PK columns before pulling in the LOB columns.
d. -
Merge Two Tables with the same columns but different data
I have a table that has the following columns:
Current Table Definition
commonname
family
genus
species
subspecies
code
I have a number of entries that donât fit the current table definition â that is that they only have a common name or description and a code. These records donât actually represent a species but are needed for data entry because they represent an object that may be encountered in the study (Bare Ground â which isnât a species but would need to be recorded if encountered). So I would really like 2 tables:
Table 1 Miscellaneous
name
code
Table 2 Plant Species
commonname
family
genus
species
subspecies
code
I would like two tables so I can enforce certain constraints on my species table like requiring that the family, genus, species, subspecies combination is unique. I canât do this if I have all the âotherâ records that donât have a family, genus, species, or subspecies unless I put in a lot of dummy data into the fields to make each record unique. I donât really want to do this because these miscellaneous records really donât represent a specific species.
So â the problem is that while I want this data separate I will need to point a column from another table to the code column in both tables.
How is this best done? Table? View? Merge?Hi,
Actually you don't have to use scope refs. Sorry but I misunderstood you earlier. Here is a complete example that does exactly what you want. Notice how I added the constraint to the materialized view. Also notice when we try to insert a code in tbl3 that doesn't exist in the view, we get an error. HTH.
SQL> create table tbl1 (name varchar2(10), code varchar2(3) primary key);
Table created.
SQL> create table tbl2 (commonname varchar2(10), code varchar2(3) primary key);
Table created.
SQL> insert into tbl1 values ('n1','c1');
1 row created.
SQL> insert into tbl1 values ('n2','c2');
1 row created.
SQL> insert into tbl1 values ('n3','c3');
1 row created.
SQL> insert into tbl2 values ('name1','c1');
1 row created.
SQL> insert into tbl2 values ('name2','c2');
1 row created.
SQL> insert into tbl2 values ('name3','c3');
1 row created.
SQL> commit;
Commit complete.
SQL> create materialized view view1 as select name, commonname, tbl1.code from tbl1, tbl2 where tbl1.code = tbl2.code;
Materialized view created.
SQL> select * from view1;
NAME COMMONNAME COD
n1 name1 c1
n2 name2 c2
n3 name3 c3
SQL> create table tbl3 (code varchar2(3), record varchar2(1));
Table created.
SQL> alter table view1 add constraint view1pk primary key (code); -- <-Note how I added a constraint to the view
Table altered.
SQL> alter table tbl3 add constraint tbl3fk foreign key (code) references view1(code);
Table altered.
SQL> insert into tbl3 values ('c1','r');
1 row created.
SQL> insert into tbl3 values ('c99','r');
insert into tbl3 values ('c99','r')
ERROR at line 1:
ORA-02291: integrity constraint (RAJS.TBL3FK) violated - parent key not found
SQL> spool of;
-Raj Suchak
[email protected] -
How to copy the value of two tables into a view.
Hi Experts ,
I have a requirement in which i have been provided with two tables(T1,T2) of same table structure ,i need to copy their entries into a table view with the same structure as the two tables(T1,T2) .
suppose T1 has entries name age T2 has entries
A 20 D 40
B 30 E 46
C 40
the view should have all the entries,duplicate values no issues ...
Could you please suggest how can i do that ?
Thanks and Regards
Debashisif table have same structure then you can use
select * from t1
union all
select * from t2 -
How to merge two tables in powerpivot excel 2013?
Hi
I have a few tables imported from two different systems/databases/tables and I need to merge them into one table in Power Pivot.
All of the import tables have some common fields such as Name, Value. e.g. Staff Expenses, Staff Sales table
The output table at lest with 3 columns (Name, Value, and Data Source). The Data Source column indicates which table the row value comes from.
How can I merge the tables using DAX?
Regards
Joe Lee
update: Just add a few sample data and chart I was required to develop
Name
Expense
Joe
1000
James
2000
Name
Sales
Joe
3000
James
10000
The chart I need to develop
I was thinking using DAX to merge the table as follow for the chart
Name
DataSource
Value
Joe
Expense
1000
James
Expense
2000
Joe
Sales
3000
James
Sales
10000
jlHi Joe,
DAX doesn't currently have a UNION function so you'll need to use a workaround such as
this to achieve the result but it won't be suitable for all scenarios. I would generally recommend using the Append capability
in Power Query for this type of task as it would be a much better fit. However, I should highlight that using Power Query would limit your refresh options to a manual refresh from within the workbook or scheduled refreshes using Power BI
for Office 365. If this is not a deal breaker then Power Query is the way to go.
Regards,
Michael Amadi
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to vote it as helpful :)
Website: http://www.nimblelearn.com, Twitter:
@nimblelearn -
Joining Two Tables by Database View
HI There,
I'm trying to join two tables BNKA and LFBK to get the Bank details according to the requirement.
Now, I wanted to go head and create a Generic datasource and bring the fields from these two tables by Vew.
Can someone please explain me step by step to create the database view?
One more thing, do we need to have anything in common between two tables BNKA and LFBK ?
I really appreciate if someone can guide me through step by step method to create Database Table view?
Thanks
MadhuriHi Madhuri,
With out having common fields, we can not create data base view based on two tables.
1) goto SE11
2) select data base view and give the name and create.
3) in left side give the tables names
4) In left side define the relation
check the below article
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10a89c00-7dd7-2d10-6f83-cd24ee6d517c?QuickLink=index&overridelayout=true
Regards,
Venkatesh -
How to merge two views of same criteria in Answers
Hi All,
Is there any way we can merge two views of same criteria in Answers.
I have two pivot tables built from same criteria. But in the final report I want to show the two reports as a single report. Is this possible?
Best Regards,
BTK.Hi,
I cannot use "Combine with Similar Request". I need drilldown also. When I use "Combine with Similar Request", then drill down is getting disabled.
Best Regards,
BTK. -
Leave a distinct value in a materialized view on two tables
Hi and thank you for reading,
I have the following problem. I am creating a materialized view out of two tables, with "where a.id = b.id".
The resulting materialized view list several values twice. For example, one customer name has several contact details and thus the customer name is listed several times. Now I would like to join each customer name with just ONE contact detail, how can I do that? (Even if I would loose some information while doing this).
Thanks
EvgenyHi,
You can do this
SELECT deptno, empno, ename, job, mgr, hiredate, sal, comm
FROM emp_test
ORDER BY deptno;
DEPTNO EMPNO ENAME JOB MGR HIREDATE SAL COMM
10 7782 CLARK MANAGER 7839 1981-06-09 2450
10 7839 KING PRESIDENT 1981-11-17 5000 0
10 7934 MILLER CLERK 7782 1982-01-23 1300
20 7566 JONES MANAGER 7839 1981-04-02 2975
20 7902 FORD ANALYST 7566 1981-12-03 3000
20 7876 ADAMS CLERK 7788 1987-05-23 1100
20 7369 SMITH CLERK 7902 1980-12-17 800
20 7788 SCOTT ANALYST 7566 1987-04-19 3000
30 7521 WARD SALESMAN 7698 1981-02-22 1250 500
30 7844 TURNER SALESMAN 7698 1981-09-08 1500
30 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300
30 7900 JAMES CLERK 7698 1981-12-03 950
30 7698 BLAKE MANAGER 7839 1981-05-01 2850
30 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400
14 rows selected.
SELECT CASE
WHEN ROW_NUMBER () OVER (PARTITION BY deptno ORDER BY empno) =
1
THEN deptno
END deptno,
empno, ename, job, mgr, hiredate, sal, comm
FROM emp_test;
DEPTNO EMPNO ENAME JOB MGR HIREDATE SAL COMM
10 7782 CLARK MANAGER 7839 1981-06-09 2450
7839 KING PRESIDENT 1981-11-17 5000 0
7934 MILLER CLERK 7782 1982-01-23 1300
20 7369 SMITH CLERK 7902 1980-12-17 800
7566 JONES MANAGER 7839 1981-04-02 2975
7788 SCOTT ANALYST 7566 1987-04-19 3000
7876 ADAMS CLERK 7788 1987-05-23 1100
7902 FORD ANALYST 7566 1981-12-03 3000
30 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300
7521 WARD SALESMAN 7698 1981-02-22 1250 500
7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400
7698 BLAKE MANAGER 7839 1981-05-01 2850
7844 TURNER SALESMAN 7698 1981-09-08 1500
7900 JAMES CLERK 7698 1981-12-03 950
14 rows selected.Edited by: Salim Chelabi on 2009-09-14 08:13 -
How to use the TableSorter for two tables at the same view?
Hello,
I am using the TableSorter object in order to sort Dynpro tables.
Suppose I have two tables at the same view, is it possible to use it seperatly for both of them?
I assume that at the wdModifyView method I will need to catch the table that the user clicked on, yet I don't have an idea of how to do it...Hi Roy,
Constructor of TableSorter
public TableSorter(IWDTable table, IWDAction sortAction, Comparator[] comparators)
So, you have to create instance of TableSorter class for each table on the view.
best regards, Maksim Rashchynski. -
Can I create a view based on two tables that have the same column name?
I have two tables A and B. Each table has 50+ columns.
I want to create a view that includes all the columns in A and all the columns in B. I created a view with a select statement that says
Select A.*, B.*
From A, B
where A.id = B.id
It returns an error because in each table I have a column that keeps track if a record has been changed called Modified_By. That's where it chokes up on I figure. I would like to write the view without explicitly writing each column name from A and B as part of the select statement. The actual select statement works fine and only bombs when trying to turn the select statement into a view.You will have to type the full column list at least once. You can save a few keystrokes (i.e. alias. on every column) by providing the column names to the CREATE part instead of in the SELECT part. Something like:
SQL> desc t
Name Null? Type
ID NUMBER
NAME VARCHAR2(10)
SQL> desc t1
Name Null? Type
T_ID NUMBER
LOC_ID NUMBER
NAME VARCHAR2(15)
SQL> CREATE VIEW t_v (id, t_name, t_id, loc_id, t1_name) AS
2 SELECT t.*, t1.*
3 FROM t, t1
4 WHERE t.id = t1.t_id;
View created.HTH
John -
ORA-01776: I can't insert on a view comprised by two tables
Good morning:
I'm trying to do an insertion on a view comprised by the join of two tables (departments and employees) and it failed.
The view is this one:
CREATE OR REPLACE FORCE VIEW "EMPDPTO" ("EMPLOYEE_ID", "LAST_NAME", "EMAIL", "HIRE_DATE", "JOB_ID", "DEPARTMENT_ID", "DEPARTMENT_NAME") AS
SELECT employee_id, last_name, email, hire_date, job_id, d.department_id, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
My insertion command
INSERT INTO empdpto
VALUES(743, 'Bermejo', '[email protected]', '12/12/09', 'IT_PROG', 10, 'Administration');
throws a ORA-01776: it's not possible to modify more than one base table through a join union.
On the other side I've seen in documentation that in certain circunstances is possible to do an insertion on a complex view.
Is it possible to do an insertion on a view comprised by two tables?. Under what circunstances?.
ThanksFrom SQL Reference CREATE VIEW section Notes on Updatable Views http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_8004.htm#i2065510
>
If you want a join view to be updatable, then all of the following conditions must be true:
The DML statement must affect only one table underlying the join.
For an INSERT statement, the view must not be created WITH CHECK OPTION, and all columns into which values are inserted must come from a key-preserved table. A key-preserved table is one for which every primary key or unique key value in the base table is also unique in the join view.
For an UPDATE statement, the view must not be created WITH CHECK OPTION, and all columns updated must be extracted from a key-preserved table.
>
The first condition is not true for the view you have created.
Edited by: P. Forstmann on 26 janv. 2010 20:17 -
Using a view to join two tables
Thank you in advance for any advice you can lend.
I am using this code in my MySQL db to create a view.
select
job.id as job_id,
umr_cost_calculation.plant_name,
max(umr_cost_calculation.id) as max_id
from
job,
umr_cost_calculation
where
job.id = umr_cost_calculation.job_id
group by job.id , umr_cost_calculation.plant_name
I did this so I can join two tables and pull in the most current cost data for a specific plant. The report will, at times, show the wrong (older) data. I can re-run the report, filter to just the one job and see again the wrong data. When I add the max_id to the report, it display the id and updates the report with the correct data. It appears that the view was stale and by adding the ID to the report this fixed the issue.
1) Is this the best way to make this join? I don't see how Crystal supports a subquery to make a join (this is why I used the view).
2) If I leave the max_id on the report, will this force the view to always update?Try:
Select
D1.EmpLoginID,
Count(D1.ID),
Count(D1.AlarmCode),
D1.EmpName,
D1.EmpAddress,
D2.Db2Count
FROM DB1.Data D1
LEFT JOIN (SELECT
empLoginID, Count(*) as Db2Count
FROM DB2.ALL_Database
WHERE site = 'Atlanta'
GROUP BY empLoginID
) D2
ON D1.EmpLoginID = D2.EmpLoginID
GROUP BY D1.empLoginID, D1.EmpName, D2.EmpAddress, D2.Db2Count
Order BY D1.empLoginID ASC
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articles -
In Web Dynpro ABAP, Can we merge two cells of a row in a table ?
In Web Dynpro ABAP, Can we merge two cells of a row in a table ?
Hallo Jagannatha,
the new table feature is available in SAP NetWeaver 7.0 EhP2 (SAP ERP 6.0 EhP5, SAP Business Suite 7i2010) named 'TableMultiEditorCell'. See [SAP Online Help|http://help.sap.com/saphelp_nw70ehp2/helpdata/en/9b/46bb0d339b42cc8d30636ca0c9f5b6/frameset.htm] for more details ...
"This UI element is a table cell variant that enables several UI elements to be placed in one table cell. This type of cell can be used for "one click actions". ...
Regards, Bertram -
Help view to get two table entries in search help
Hi,
I have created the help view for join two tables and that help view was called in the selection method for creating search help of the custom table field. since it has show inthe selection screen , it is fetching only one table entries. and the shown entries are displaying but not passing.
Please provide the steps to get the two table entries and the displayed entries should pass.
Thanks in Advance,
sivaHi sivanag,
1. Try your view with SE16/SE16N to see if it really finds what you expect
2. Use the same data elements in help view as on selection screen
3. read documentation and F1 help on all fields you see in the search help definition - especially only field marked as EXPORT parameter will be put back on screen.
But, sincerely, I don't know what your selection-screen looks like.
Regards,
Clemens -
View object that will allow to see data from two tables in a adf table
Hi,
I've been have serious issues to resolve this functional requirements with ADF.
Basically I have two tables let say employee and department.
A need a read only adf table to show the employees values but I don't want the users to see the department id, instead I want them to see the department name and all this in the same read only adf table.
I created a view object based on such a query below:
select employeelastname, employeefirstname, departmentname from employee, department where employee.departmentid = department.departmentid (+)
Note the outer join here because some employees don't have department assigned but I still want to see them in my read only table.
The problem is that the view object is based on a sql query and is using calculated attributes instead of entities and I am getting that error "rowkey does not have any primary key attributes" each time I select a row inmy adf read only table. So the popup I defined when the user select a row does not work properly and I need a better solution. I will also have the option for the users to delete a record selected in the read only table so really need entities behind there not just a view.
My view object also include LOVs but I realized LOVs only work for tables but not for read only tables. Too bad the fonctionality is almost there... So even if I have lovs defined that show the data like I would like it to be seen for tables it does not help for ready only tables. Any way to have read only table working with LOVs (user will not be able to change the values or select another value in the list but at list they would see the department name instead of the department id)?
Thanks to anyone that would be able to help me on this.
StephaneLet me first say that I would use Shays approach and only under special circumstances (which are beyond this thread) use the solution outlined below:
You can use the read only VO based on your query without basing it an entities. All you have to do is to mark one or more attributes as primary key in the VO. This should solve the "rowkey does not have any primary key attributes" error.
Now to delete a row (I'm not sure which row department or employee you mean here) you use the selected read only row, get the PK of the row and call a service method in the application module of in a VO which is based on an entity and remove the row there. You can even use the removeRowWithKey operation from the data control to archive this.
The second problem I don't understand. If you show the user a read only table there in no need to show a lov as you can't change the value. If your problem is that you need to show the department name instead of the department id, you simply add the department name to the attributes you select with your query.
Timo
Maybe you are looking for
-
To use Entity Bean or Oracle stored Package?
Currently, in my project, Weblogic8.1 and Oracle is used, but lots of business logic is implemented using Oracle stored Packages, many of these packages have a package level readonly lookup table(like index-by table or nested table), which is populat
-
Adobe Photoshop CS3 collapse each time it load a big file
I was loading a big file of photos from iMac iPhoto to Adobe Photoshop CS3 and it keep collapsing, yet each time I reopen photoshop it load the photos again and collapse again. is there a way to stop this cycle?
-
Hp PhotoSmart C618 Camera Power On problems?
I just got a used Hp PhotoSmart C618 Camera, and when I put new batteries in, and tried to turn it on, it would not turn on. The power light flashed, but the camera did not turn on. I looked at the batteries and double checked to make sure they were
-
I used to be able to click an icon and slect what I had stored as a favorite, but it seems clumsy to use the Boomraks command. Is there an esier way?
-
Hi, How do you make this function repeat every 5 seconds? SetCtrlVal (panel, PANEL_MESSAGES,"\n\n Data Rate \n"); Thanks