Multiplying two table columns
Hello,
What I want to do is very simple: I have a read-only table, displaying a product price and its quantity. I want a third column in which I could display the total price.
I tried #{row.SalesPrice*row.Quantity} but I had this exception:
Attempt to coerce a value of type "oracle.jbo.domain.Number" to type "java.lang.Long"
So I tried : #{row.SalesPrice.multiply(row.Quantity)}
But now I have javax.faces.el.ReferenceSyntaxException: row.SalesPrice.multiply(row.Quantity)
Do you know what is the correct expression?
Thanks,
Romain
you can use a convertNumber
I guess your using an output text? put the following code inside it:
<f:convertNumber groupingUsed="false"/>
<af:outputText value="#{bindings.<yourattr>}">
<f:convertNumber groupingUsed="false"/>
</af:outputText>
Similar Messages
-
hi all,
i am using db10g.
my task is to compare two table's data for example
table1 is having
col1 col2 col3
a b c
e f g
table2 is
col4 col5 col6
a e c
e f g
so i have to compare col1 first record and col4 first record.
in otherwords first table first column first item with second table first table first value and so on.
for ex: a= a
b= e
c= c etc
how can i acheive this?
both are database tables.
i cannot use minus function because data types are different for the corresponding column
how can i compare it?
Thanks..
Edited by: user13329002 on Jan 13, 2011 1:09 AMHi,
Try this
select
case
when a.col1 = b.col1 then 'EQUAL' else 'NOT EQUAL' end column1,
case
when a.col2 = b.col2 then 'EQUAL' else 'NOT EQUAL' end column2,
case
when a.col3 = b.col3 then 'EQUAL' else 'NOT EQUAL' end column3
from (select col1,col2,col3,rownum rn from table1) a,
(select col1,col2,col3,rownum rn from table2) b where a.rn = b.rn Try to see how you order the rows of the two tables.
cheers
VT -
Hi
Using below sql get the columns discrepncy .I want to display the discprency of columns from two tables in form of flat file using pl/sql.
select col1,col2 from A
minus
select * from B -- Rows in A that are not in B
union all
select col1,col2 from B
minus
select col1,col2 from A ----- rows in B that are not in A
Thanksin advance
MRHi
Wrote the cursor for this ,I am not getting expected o/p .Please any help
DECLARE
CURSOR C1 IS SELECT ACCOUNT_CUST_CD , account_contact_person_cd
FROM account where ACCOUNT_CUST_CD='1-411FQ'
AND account_contact_person_cd IS NOT NULL ORDER BY account_contact_person_cd ;
CURSOR C2 IS SELECT ACCOUNT_CUST_CD , account_contact_person_cd FROM bill_bkp
where ACCOUNT_CUST_CD='1-411FQ'AND ACCOUNT_STATUS_DESC='Blacklisted Customer'ORDER BY account_contact_person_cd ;
BEGIN
FOR REC1 IN C1
LOOP
FOR REC2 IN C2
LOOP
IF REC1.account_contact_person_cd <> REC2.account_contact_person_cd or
REC1.ACCOUNT_CUST_CD<>REC2.ACCOUNT_CUST_CD
THEN
DBMS_OUTPUT.PUT_LINE(REC1.account_contact_person_cd||REC2.account_contact_person_cd||REC1.ACCOUNT_CUST_CD||REC2.ACCOUNT_CUST_CD);
END IF;
END LOOP;
END LOOP;
END;
Thanks and Regards,
MR -
hi,
Does anyone have or can show me the principle of a such kind of function ?see
http://geekswithblogs.net/leonardm/archive/2010/01/14/table-schema-comparison-in-sql-server.aspx
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
Join two tables - column merge
Table1 - Product ID, Description
Table 2 - Product ID, Cost
I want the result to contain Product ID, Description and Cost. Which process should I use?
BalajiDefine a lookup against the table you want to check against. (Right-click on Reference Data node in the project browser, Add Lookup). The lookup can be to either staged data or external data (if the data is dynamic)
Then add a Lookup and Return processor to your process and configure the options. You can check for the correct cardinality if required.
If you are doing a 1:M lookup and want to create a 'join' in the process, input all the array attributes from Lookup and Return into a single Split Records from Array processor and then either Write or do other downstream processing on the joined stream. -
SELECT providerid, SUM(COUNT) FROM appdev.usercounts
WHERE counttime BETWEEN SYSDATE - 30/1440 AND SYSDATE- 15/1440 GROUP BY providerid ORDER BY providerid
W 697
U 813
T 143
S 2
SELECT providerid, SUM(COUNT) FROM appdev.usercounts
WHERE counttime BETWEEN (SYSDATE -1) - 30/1440 AND (SYSDATE-1)- 15/1440 GROUP BY providerid ORDER BY providerid;
W 450
U 571
T 80
S 2
I wnat output as like
W 697 450
U 813 571
T 143 80
S 2 2
please help
Thanks
Praveen"COUNT", is that the real column name? It could become very confusing.
Not tested for obvious reasons, but this should be close :
SELECT providerid
, sum(
case when counttime between sysdate - 30/1440 and sysdate - 15/1440 then count end
) as cnt1
, sum(
case when counttime between (sysdate-1) - 30/1440 and (sysdate-1) - 15/1440 then count end
) as cnt2
FROM appdev.usercounts
WHERE ( counttime between sysdate - 30/1440 and sysdate - 15/1440 )
OR ( counttime between (sysdate-1) - 30/1440 and (sysdate-1) - 15/1440 )
GROUP BY providerid
ORDER BY providerid
; -
Using An Update with a Literal Value Based on Equality Between Two Tables
I need to update table1 code_val with a literal value: 'Y' where table1 column grpid matches table2 column grpid.
I have found all sort of info on the web about updating a value from, for example, a table2 field into table1, but I can't find anything where i assign the value where two table columns match.
It would be something like this:
update table1
set code_val = 'Y'
Where table1.grpid = table2.grpid
Thanks for any assistance!user12296489 wrote:
I need to update table1 code_val with a literal value: 'Y' where table1 column grpid matches table2 column grpid.
I have found all sort of info on the web about updating a value from, for example, a table2 field into table1, but I can't find anything where i assign the value where two table columns match.
It would be something like this:
update table1
set code_val = 'Y'
Where table1.grpid = table2.grpid
update table1
set code_val = 'Y'
Where table1.grpid in (SELECT grpid from table2); -
To check whether there is any format mismatch between columns of two tables
Hi,
I have got a table 'T' (Source table) with columns
T_Lat Varchar2(50);
T_Amt Varchar2(50);
T_Cat Varchar2(50);
(all these above columns have numeric data)
Actually, Here I have taken only the columns having numeric data from table 'T'
Now I have another table 'M'(Destination Table) with columns
M_Lat number;
M_AMt number;
M_Cat number;
Now my task is I have to do a prevalidation of the data in 'T' that whether all the data in those columns will suit for the destination table columns respectively (to check whether there is any format mismatch). This check should be done dynamically(as there are more than 50 columns in real).
Note:- There is no unique mapping column for these two tables
I think it can be done using arrays or plsql tables. But i dont have idea using them.
Can any one help me in this regard.Why, What's wrong with these post and there responce?
{message:id=10480898}
{message:id=10472737} -
To check whether there is any size mismatch between columns of two tables
Hi,
Here i got two tables T and M where i am going to migrate data from T to M. But before migrating i need to check whether all the data in source table fits into destination table columns. The datatypes of all columns in source table T is of Varchar2 only as it is a temp table.
Ex :- Table 'T' (Source table) with columns
T_Lat Varchar2(50);
T_Amt Varchar2(50);
T_Cat Varchar2(50);
T_Vat Varchar2(50);
Now I have another table 'M'(Destination Table) with columns
M_Lat Varchar2(50);
M_Amt varchar2(25);
M_Cat date;
M_Vat number;
Now my task is I have to do a prevalidation of the data in 'T' that whether all the data in those columns will suit for the destination table columns respectively (to check whether there is any size mismatch). This check should be done dynamically.
For suppose, in T_Amt(source column of T table) if text is abt 50 characters, it cant fit M_Amt(destination column of M table). In this case it should throw an error indicating that destination column size is less for the source column.
Note:- There is no unique mapping column for these two tables and there are about 400 columns in the source table to be validate
I think it can be done using arrays or plsql tables.
Can any one help in this regard.>
Now my task is I have to do a prevalidation of the data in 'T' that whether all the data in those columns will suit for the destination table columns respectively (to check whether there is any size mismatch). This check should be done dynamically.
>
Just because the source table T_Amt column is defined as 50 doesn't mean any of the data is really that long. So the data itself needs to be checked. That is just what a simple query can do.
See my answer in this thread Posted: Jul 25, 2012 1:14 PM
Re: Help in Execute Immediate - Invalid relational Operator
Here is the modified sample query and results for a query of a clone of the EMP table with some modified data
select count(*) cnt,
-- job column
sum(case when job is null then 1 else 0 end) job_nul,
sum(case when job = 'SALESMAN' then 1 else 0 end) job_salesman,
min(length(job)) job_minlength, max(length(job)) job_maxlength,
min(job) job_min, max(job) job_max,
-- hiredate colulmn
sum(case when hiredate is null then 1 else 0 end) hiredate_nul,
min(hiredate) hiredate_min,
max(hiredate) hiredate_max
from emp1
CNT JOB_NUL JOB_SALESMAN JOB_MINLENGTH JOB_MAXLENGTH JOB_MIN JOB_MAX HIREDATE_NUL HIREDATE_MIN HIREDATE_MAX
14 2 4 5 9 ANALYST SALESMAN 0 9/28/0001 12/3/9999With one query and ONE pass thru the table I was able to get the COUNTs, the MIN and MAX values for each column and the MIN and MAX lengths of the VARCHAR2 columns.
There are 14 total records, 2 where JOB is null, 4 where the JOB is SALESMAN. The MIN length of the JOB data is 5 and the MAX is 9.
Look at the date values. The results tell me I have some problem data.
The length data tells me if I try to put the JOB data into another table I need to define the length as at least 9 or it won't fit.
For your use case you might find that all of the data in the T_Lat column is shorter than 26 and will actually fit into the M_Lat target table column. -
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 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. -
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 -
Comparing two columns in two tables using partial text strings and copying data between tables
I have two tables:
The Vendor table is supplied by a clothing manufacturer and lists product data by row with a column that contains a unique manufacturer ID, such as T5C4. In this table is a short product description and a long product description that I need to find and copy into the second table, Inventory.
The Inventory table is an export from our Magento store. Each row contains a unique inventory number in a column that includes but does not match the unique manufacturer ID from the Vendor table. For example, the unique inventory number could be T5C4-W12, or RED-T5C4W12 or some other variation.
For each product in Inventory, I need to find the matching product in Vendor, and then copy the short description and long description from Vendor to Inventory.
Any tips? Thanks!
KarlKarl,
Here's a start, as you requested.
The formula for Our Inventory Row is:
=IFERROR(MATCH("*"&A&"*", Our Inventory :: A, 0), "n/a")
The formula for Brief Description in the inventory table is:
=IFERROR(INDEX(ABC Products :: $A$1:$C$9,MATCH(ROW(), ABC Products :: $D, 0), 2), "n/a")
The formula for the Full description in the inventory table is:
=IFERROR(INDEX(ABC Products :: $A$1:$C$9,MATCH(ROW(), ABC Products :: $D, 0), 3), "n/a")
The Manufacturer's table knows the concise product numbers, so it has the ability to search the Inventory table for it's product id's using wildcards and it then displays the line number of the item in the inventory table. The Inventory table can then search the manufacturer's table for its row number and can reference the brief and full descriptions.
This approach has a serious limitation. It will only find the first occurrence in the inventory. Now, if you want to accept this, you can sort all the found descriptions and pull them out of the inventory table, and then the next product in line will display it's description too.
I wish I could do better with this, but it's all I can come up with at this point, knowing only what you have told me.
Jerry -
Cartesian of data from two tables with no matching columns
Hello,
I was wondering – what’s the best way to create a Cartesian of data from two tables with no matching columns in such a way, so that there will be only a single SQL query generated?
I am thinking about something like:
for $COUNTRY in ns0: COUNTRY ()
for $PROD in ns1:PROD()
return <Results>
<COUNTRY> {fn:data($COUNTRY/COUNTRY_NAME)} </COUNTRY>
<PROD> {fn:data($PROD/PROD_NAME)} </PROD>
</Results>
And the expected result is combination of all COUNTRY_NAMEs with all PROD_NAMEs.
What I’ve noticed when checking query plan is that DSP will execute two queries to have the results – one for COUNTRY_NAME and another one for PROD_NAME. Which in general results in not the best performance ;-)
What I’ve noticed also is that when I add something like:
where COUNTRY_NAME != PROD_NAME
everything is ok and there is only one query created (it's red in the Query plan, but still it's ok from my pov). Still it looks to me more like a workaround, not a real best approach. I may be wrong though...
So the question is – what’s the suggested approach for such queries?
Thanks,
Leszek
Edited by xnts at 11/19/2007 10:54 AMWhich in general results in not the best performanceI disagree. Only for two tables with very few rows, would a single sql statement give better performance.
Suppose there are 10,000 rows in each table - the cross-product will result in 100 million rows. Sounds like a bad idea. For this reason, DSP will not push a cross-product to a database. It will get the rows from each table in separate sql statements (retrieving only 20,000 rows) and then produce the cross-product itself.
If you want to execute sql with cross-products, you can create a sql-statement based dataservice. I recommend against doing so. -
Update SAME column name in two tables from ONE query
Dear All Seniors
Please tell me is it possible to update a same column name in two tables.
I have two tables in same schema
(1)table name
pem.igp_parent
column name
igp_no.
igp_type
(2)table name
pem.igp_child
column name
igp_no.
igp_type
i want to update igp_no column in one query please tell me how it would be possible.
thanks
yassenYou want to update the data from what to what? Where is the new data coming from?
If you are trying to put the same data in two different tables, that strongly implies that you have a normalization problem that needs to be addressed.
Why do you want a single query rather than updating each table in turn? Can you join the two target tables to produce a key-preserved view?
Justin
Maybe you are looking for
-
IPod Shuffle - strange problem HELP!!!!
Hello, few days ago my iPod shuffle suddenly stopped playing. In the first place I thought it was a battery. But after over a 8hrs of charging, restoring software etc. it looks like that: after sliding the button into one of the two play modes only t
-
iPhone photo stream photos import to macbook Pro but photos in albums on the same phone do not? When I connected my iPhone to the MB-Pro and imported the photos, all the ones on the phone in "the photo stream" came in fine, But I have 4 "albums" cont
-
HT1414 my wi fi on/off button is not working. any suggestions?
my wi fi on/off button is not working when i touch it. any suggestions on how to fix it or what to do?
-
So, after replacing arch with ubuntu on one of my machines the time is messed up on my windows partition. When I installed arch I did this registry change on windows to make UTC work as described in https://wiki.archlinux.org/index.php/Ti - in_Window
-
Why are my events deleted?
I did MANY hours of work on a calendar. About a month later, I went in to continue to work on it and all of my work appears to be gone. The calendar only shows a few birthdays. I had all kinds of other monthly meetings inserted and they are all go