To-Many relationship and selection from a lookup table
I have a core data table that represents radios called 'Radio' and another that represents types of modulation (AM, FM, USB etc.) called 'Modulation'. I have defined a to-many relationship form 'Radio' to 'Modulation'. The 'Modulation' table is fixed in that I have defined the set of records in the table and I don't want the normal user to modify this.
What I do want is the user to be able to manipulate the 'Radio' records, and in particular be able to select a 'Radio' record. I have set up NSArrayControllers for both entities and they are used by two NSTableViews. So far everything is working nicely.
I want the user to be able to select a 'Radio' in the table and have the 'Modulation' table show the 'to-many' relationship by selecting the (multiple) entries that apply. Also I want the user to be able to select and deselect 'Modulation' records and have them reflected in the core data relationship.
I have tried several things involving the 'Selected Indexes' bindings on both the 'Modulation' table and the NSArrayController (pointing back to the 'Radio' controllers 'selected' entry with the key path being the to-many relationship name but this seems to either throw lots of 'not key-value coding compliant' messages or stops the 'Modulation' from displaying anything. Obviously I'm not doing this right!!!!
Can some kind soul please tell me how this can be done?
Thanks
Susan
At least I'm consistent is being able to ask unanswerable questions!
I got around this my creating a delegate routine that was called on each change of selection and did the necessary record selection in code.
Susan
Similar Messages
-
How to assign tasks in Approval Workflow to a set of users selected from a Lookup table
Hi all,
I am new to Project Server and I am using Project Server 2013 On premises deployement. Please help me on how to achieve the below scenario:
I have a requirement where, the initial PDP will have 2 fields (Reviewers and Approvers), wherein the engineer himself will select who the reviewer and approver from the Lookup tables.
Now I have to start task process with these selected people for approval.
Say for example , engineer has selected Alice and Bob as 2 reviewers, then
In the workflow I have :
Start Task process with
Project Data: Reviewers (which is giving error as
[System.ArgumentException: AssignedTo at Microsoft.Activities.Hosting.Runtime.Subroutine.SubroutineChild.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager
bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) ]
Then I tried logging the value of Project Data: Reviewers, It logged the value as Alice, Bob (which looks pretty good),
Then I tried assigning only 1 person as Reviewer, then also I get the same error.
So can anybody please tell me where I went wrong. Is it not possible to fetch the data from the values selected as Project Data from the Lookup tables ? If not then what is the workaround I can use to achieve this ?
Thanks,
ShankyHi Paul,
Yes I am using SP designer for Workflows. And yes, You were right, there was a mismatch in the names of AD account and the Lookup table, now with 1 person selected from the lookup table it is assigning the task properly. However with multiple selection,
it is failing.
As Robert mentioned, the fetched value is a text as "Alice, Bob", which makes 2 usernames as a single text. So when I try to assign a task to this group, which returns value as "Alice, Bob", workflow fails to find such AD user, as it
is an invalid value.
So is there any way I can seperate this out to form 2 different username ? I checked for string extraction function in th Workflow, but nothing helped me for this scenario.
Any input will be helpful.
Thanks,
Shanky -
Creating and selecting from a dynamic table
Hi,
Iam trying to create a table dynamically and selecting from it in same plsql block, but am getting "table doesnot exist" error. however if i just create a table dynamically and then do a select on it seperately it works..
below is sample code for the same,
working
Line: -----
DECLARE
loc VARCHAR2(20):='bglr';
l_cnt pls_integer;
BEGIN
-- create an employee information table
EXECUTE IMMEDIATE
'CREATE TABLE ' || 'emp_bglr' ||
empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
job VARCHAR2(9),
sal NUMBER(7,2),
deptno NUMBER(2)
end;
select count(*) from emp_bglr ...works and return me 0 rows
Line: -----
but when i include select in plsql block ..it throws "Table does not exists" error...(iam running below plsql block after dropping the created table)
not working
Line: -----
DECLARE
loc VARCHAR2(20):='bglr';
l_cnt pls_integer;
BEGIN
-- create an employee information table
EXECUTE IMMEDIATE
'CREATE TABLE ' || 'emp_bglr' ||
empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
job VARCHAR2(9),
sal NUMBER(7,2),
deptno NUMBER(2)
--COMMIT;
END;
Select count(*) into l_cnt from emp_bglr;
dbms_output.put_line('cnt is '||l_cnt);
end;
Line: -----Becuase your code is first checked for syntax/object existance during compilation and throws an error saying the table does not exist.
Try this:
SQL> ed
Wrote file afiedt.buf
1 DECLARE
2 loc VARCHAR2(20):='bglr';
3 l_cnt pls_integer;
4 BEGIN
5 -- create an employee information table
6 EXECUTE IMMEDIATE 'CREATE TABLE emp_bglr(
7 empno NUMBER(4) NOT NULL,
8 ename VARCHAR2(10),
9 job VARCHAR2(9),
10 sal NUMBER(7,2),
11 deptno NUMBER(2)
12 )';
14 Select count(*) into l_cnt from all_objects where object_name = 'EMP_BGLR';
15 dbms_output.put_line('tab cnt is '||l_cnt);
16 IF (l_cnt = 1) THEN
17 l_cnt := 0;
18 EXECUTE IMMEDIATE 'SELECT count(*) from apps.emp_bglr' into l_cnt;
19 dbms_output.put_line('data cnt is '||l_cnt);
20 END IF;
21* end;
SQL> /
tab cnt is 1
data cnt is 0
PL/SQL procedure successfully completed.
SQL> Edited by: AP on Aug 5, 2010 5:51 AM
Edited by: AP on Aug 5, 2010 5:52 AM -
Update and Select from the same table
Hello,
i have this select - i tested it and its working
[code]
select
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTBT
else DTF_REEW_201301.KTBT - CTF_REEW_KUM_201301.KTBT
end
as KTBT_ISO,
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTZN
else DTF_REEW_201301.KTZN - CTF_REEW_KUM_201301.KTZN
end
as KTZN_ISO,
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTAB
else DTF_REEW_201301.KTAB - CTF_REEW_KUM_201301.KTAB
end as KTAB_ISO,
DTF_REEW_201301.brnrn,
DTF_REEW_201301.ktat
from
reewcore.CTF_REEW_KUM_201301 CTF_REEW_KUM_201301,
reewdq.DTF_REEW_201301 DTF_REEW_201301
where
(DTF_REEW_201301.BRNRN = CTF_REEW_KUM_201301.BRNRN
and DTF_REEW_201301.KTAT = CTF_REEW_KUM_201301.KTAT)
and CTF_REEW_KUM_201301.KTMO = (DTF_REEW_201301.KTMO - 1)
[/code]
With the result from KTBT_ISO, KTZN_ISO and KTAB_ISO i want to update the table "reewdq.DTF_REEW_201301" - and this table is in the select-statement!
I believe, i tried every update-statement - but no update is working.
I need something like this:
[code]
update reewdq.DTF_REEW_201301 t1 set t1.KTBT_ISO=
select
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTBT
else DTF_REEW_201301.KTBT - CTF_REEW_KUM_201301.KTBT
end
as KTBT_ISO
from
reewcore.CTF_REEW_KUM_201301 CTF_REEW_KUM_201301,
reewdq.DTF_REEW_201301 DTF_REEW_201301
where
(DTF_REEW_201301.BRNRN = CTF_REEW_KUM_201301.BRNRN
and DTF_REEW_201301.KTAT = CTF_REEW_KUM_201301.KTAT)
and CTF_REEW_KUM_201301.KTMO = (DTF_REEW_201301.KTMO - 1)
t1.KTZN_ISO=
select
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTZN
else DTF_REEW_201301.KTZN - CTF_REEW_KUM_201301.KTZN
end
as KTZN_ISO
from
reewcore.CTF_REEW_KUM_201301 CTF_REEW_KUM_201301,
reewdq.DTF_REEW_201301 DTF_REEW_201301
where
(DTF_REEW_201301.BRNRN = CTF_REEW_KUM_201301.BRNRN
and DTF_REEW_201301.KTAT = CTF_REEW_KUM_201301.KTAT)
and CTF_REEW_KUM_201301.KTMO = (DTF_REEW_201301.KTMO - 1)
t1.KTAB_ISO=
select
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTAB
else DTF_REEW_201301.KTAB - CTF_REEW_KUM_201301.KTAB
end as KTAB_ISO
from
reewcore.CTF_REEW_KUM_201301 CTF_REEW_KUM_201301,
reewdq.DTF_REEW_201301 DTF_REEW_201301
where
(DTF_REEW_201301.BRNRN = CTF_REEW_KUM_201301.BRNRN
and DTF_REEW_201301.KTAT = CTF_REEW_KUM_201301.KTAT)
and CTF_REEW_KUM_201301.KTMO = (DTF_REEW_201301.KTMO - 1)
[/code]
But this code isn´t working. Has someone an idea please? Can someone please help me.
Best regards
HeidiUse MERGE:
merge
into reewdq.DTF_REEW_201301 t1
using (
select case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTBT
else DTF_REEW_201301.KTBT - CTF_REEW_KUM_201301.KTBT
end as KTBT_ISO,
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTZN
else DTF_REEW_201301.KTZN - CTF_REEW_KUM_201301.KTZN
end as KTZN_ISO,
case
when DTF_REEW_201301.KTMO =1 then DTF_REEW_201301.KTAB
else DTF_REEW_201301.KTAB - CTF_REEW_KUM_201301.KTAB
end as KTAB_ISO,
reewdq.ROWID as rid
from reewcore.CTF_REEW_KUM_201301 CTF_REEW_KUM_201301,
reewdq.DTF_REEW_201301 DTF_REEW_201301
where DTF_REEW_201301.BRNRN = CTF_REEW_KUM_201301.BRNRN
and DTF_REEW_201301.KTAT = CTF_REEW_KUM_201301.KTAT
and CTF_REEW_KUM_201301.KTMO = DTF_REEW_201301.KTMO - 1
) t2
on (
t1.rowid = t2.rid
when mathed
then
update
set t1.KTBT_ISO = t2.KTBT_ISO,
t1.KTZN_ISO = t2.KTZN_ISO,
t1.KTAB_ISO = t2.KTAB_ISO
SY. -
What is the defference between select single * from and select * from Where
What is the defference between select single * from and select * from Where
which is prefferable and best one.Hai,
*Difference Between Select Single and Select * from table UpTo One Rows:*
According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not using all the primary key fields.
select single is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key supplied and will try to find most suitable index.
The best way to find out is through sql trace or runtime analysis.
Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
Mainly: to read data from
The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set. -
How to get data from hierachy lookup table
there is a hierachy lookup table A, and I want to get data from A.
but the following code does work properly:
WebTreeNode result = catalog..GetHierarchy(tableName,nodeID);
could anybody give some suggestion or solution of getting data from hierachy lookup table,
3xHi fei,
Please look at the following code.
I hope it will give you some clues...
private void showHierarchy() throws StringException
ResultSetDefinition rsd = new ResultSetDefinition(<code name of your hierarchy table>);
rsd.GetFields().Add(<code name of a field in your hierarchy table>);
Search search = new Search(<code name of your main table>);
WebTreeNode treeNode = catalogData.GetResultTree(search, rsd, 0);
printHierNameRecursive(treeNode, 0);
private void printHierNameRecursive(WebTreeNode root, int level) throws StringException
WebTreeNodeArray arr = root.GetChildren();
for (int i = 0; i < arr.GetSize(); i++)
for (int tab = 0; tab < level; tab++)
System.out.print("t");
String catName = arr.GetWebTreeNodeAt(i).GetValueAt(<code name of a field in your hierarchy table>).GetStringValue();
System.out.println(catName);
printHierNameRecursive(arr.GetWebTreeNodeAt(i), level + 1);
Regards,
Nir -
Selecting from 2 different tables
is this possible?
i just want to select from two different tables in one select statement and they have the same WHERE clauseSELECT
a.pkggrp,
a.pkgtype,
a.area,
a.process,
a.ww,
count(a.ww) as LOTSGATED,
sum(a.samplesize) as SUMSAMPLESIZE,
sum(a.total_defects) as SUMTOTALDEFECTS,
sum(case a.auditresult when 'pass' then 1 else 0 end) COUNTPASS,
sum(case a.auditresult when 'fail' then 1 else 0 end) COUNTFAIL,
case sum(case a.auditresult when 'fail' then 1 else 0 end)
when 0 then 0
else round(sum(case a.auditresult when 'fail' then 1 else 0 end) / count(a.ww) * 100,2)
end LRR,
case sum(case a.auditresult when 'fail' then 1 else 0 end)
when 0 then 0
else round(sum(case a.auditresult when 'fail' then 1 else 0 end) / sum(a.samplesize) * 1000000,0)
end PPM,
count(c.itrnum)
FROM
t_prodproc_monitoring a, t_itr c
WHERE
a.ww=c.ww
and a.ww between 1 and 50
and c.ww between 1 and 50
GROUP BY
a.pkggrp,
a.pkgtype,
a.area,
a.process,
a.ww
ORDER BY
a.pkggrp,
a.pkgtype,
a.area,
a.process,
a.ww ascthis gave me a
"c". "ww": invalid identifier -
Hi Guys,
I was just hoping to get your opinion on something.
I have a procedure in Production that is taking longer and longer to finish and sticks on one certain section of code.
The code is an INSERT into the main dimension table.
This same procedure runs fine on TEST and the section of code completes an awful lot quicker.
The traffic on Production is a lot heavier and there have been applications developed by people other than myself which SELECT from this dimension table. I'm assuming, based on the fact the code in Test and Production are identical, that this increased traffic could be eating up the bandwith and slowing the jobs.
So, I was thinking - if I create Views and let the other applications hit the views as opposed to the main table, will this help speed it up. I did this before on a Teradata platform using a 'dirty read' which worked quite well but Oracle doesn't seem to offer this option.
What do you guys think? Could this work or do I need to take a different approach.
Thank You.GerardMcL wrote:
I meant ordinary views.
I was wondering if there was a way of putting some locking code in or asking for a dirty read that would speed up the SELECT from the table?There is no such thing as a dirty read with Oracle -- Teradata, SQL Server, Sybase, IBM, etc., have different locking architectures where reads can block write and writes can block reads, and that is not an issue with Oracle.
If there's a query performance problem, which is what that will be if the SELECTs are slow, then if you could follow the following links, that will help diagnosis immensely:
[How to Post A Tuning Request|http://forums.oracle.com/forums/thread.jspa?threadID=863295&tstart=0]
And:
[When your Query takes too long|http://forums.oracle.com/forums/thread.jspa?messageID=1812597#1812597]
There is such as thing as stale reads, against Materialized Views, which are views that actually materialize and store the results of a query, and which then can subsequently be queried. -
SELECTing from a large table vs small table
I posted a question few months back about teh comparison between INSERTing to a large table vs small table ( fewer number of rows ), in terms of time taken.
The general consensus seemed to be that it would be teh same, except for teh time taken to update the index ( which will be negligible ).
1. But now, following teh same logic, I m confused why SELECTINg from a large table should be more time taking ("expensive" ) than SELECTing from a small table.
( SELECTing using an index )
My understanding of how Oracle works internally is this :
It will first locate the ROWID from teh B-Tree that stores the index.
( This operation is O(log N ) based on B-Tree )
ROWID essentially contains teh file pointer offset of teh location of the data in teh disk.
And Oracle simply reads teh data from teh location it deduced from ROWID.
But then the only variable I see is searching teh B-Tree, which should take O(log N ) time for comparison ( N - number of rows )
Am I correct above.
2. Also I read that tables are partitioned for performance reasons. I read about various partiotion mechanisms. But cannot figure out how it can result in performance improvement.
Can somebody please helpuser597961 wrote:
I posted a question few months back about teh comparison between INSERTing to a large table vs small table ( fewer number of rows ), in terms of time taken.
The general consensus seemed to be that it would be teh same, except for teh time taken to update the index ( which will be negligible ).
1. But now, following teh same logic, I m confused why SELECTINg from a large table should be more time taking ("expensive" ) than SELECTing from a small table.
( SELECTing using an index )
My understanding of how Oracle works internally is this :
It will first locate the ROWID from teh B-Tree that stores the index.
( This operation is O(log N ) based on B-Tree )
ROWID essentially contains teh file pointer offset of teh location of the data in teh disk.
And Oracle simply reads teh data from teh location it deduced from ROWID.
But then the only variable I see is searching teh B-Tree, which should take O(log N ) time for comparison ( N - number of rows )
Am I correct above.
2. Also I read that tables are partitioned for performance reasons. I read about various partiotion mechanisms. But cannot figure out how it can result in performance improvement.
Can somebody please helpIt's not going to be that simple. Before your first step (locate ROWID from index), it will first evaluate various access plans - potentially thousands of them - and choose the one that it thinks will be best. This evaluation will be based on the number of rows it anticipates having to retrieve, whether or not all of the requested data can be retrived from the index alone (without even going to the data segment), etc. etc etc. For each consideration it makes, you start with "all else being equal". Then figure there will be dozens, if not hundreds or thousands of these "all else being equal". Then once the plan is selected and the rubber meets the road, we have to contend with the fact "all else is hardly ever equal". -
Finding missed sequence numbers and rows from a fact table
Finding missed sequence numbers and rows from a fact table
Hi
I am working on an OLAP date cube with the following schema:
As you can see there is a fact transaction with two dimensions called cardNumber and Sequence. Card dimension contains about three million card numbers.
Sequence dimension contains a sequence number from 0 to 255. Fact transaction contains about 400 million transactions of those cards.
Each transaction has a sequence number in 0 to 255 ranges. If sequence number of transactions of a card reaches to 255 the next transaction would get 0 as a sequence number.
For example if a card has 1000 transactions then sequence numbers are as follows;
Transaction 1 to transaction 256 with sequences from 0 to 255
Transaction 257 to transaction 512 with sequences from 0 to 255
Transaction 513 to transaction 768 with sequences from 0 to 255
Transaction 769 to transaction 1000 with sequences from 0 to 231
The problem is that:
Sometimes there are several missed transactions. For example instead of sequence from 0 to 255, sequences are from 0 to 150 and then from 160 to 255. Here 10 transactions have been missed.
How can I find all missed transactions of all cards with a MDX QUERY?
I really appreciate for helpsThank you Liao
I need to find missed numbers, In this scenario I want the query to tell the missed numbers are: 151,152,153,154,155,156,157,158,159
Relative transactions are also missed, so I think it is impossible to get them by your MDX query
Suppose this:
date
time
sequence
20140701
23:22:00
149
20140701
23:44:00
150
20140702
8:30:00
160
20140702
9:30:00
161
20140702
11:30:00
162
20140702
11:45:00
163
As you can see the sequence number of the last transaction at the 20140701 is 150
We expecting that the first transaction of the next day should be 151 but it is 160. Those 10 transactions are totally missed and we just need to
find missed sequence numbers -
No value is select from user define table
Hi ALL,
i am using B1if , i am sending data B1 to isr , i am using user define table but problem no value is select from user define table .
my table ID is @SSRPOD
<payload operation="">
<ns0:MT_POD_B1_System xmlns:ns0="http://xxxx.com/SC/B1/Dlvr/CustDlvr/ExtPrfOfDlvr">
<POD>
<Header>
<SalesOrderNumber>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_SalOrdNo" />
</SalesOrderNumber>
<ArrivalDate>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_TaxDate" />
</ArrivalDate>
<Detail>
<DOLineQuantity>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_Quantity" />
</DOLineQuantity>
<UOM>
<xsl:value-of select="$msg/BOM/BO/@SSRPOD/row/U_Unitmsr" />
</UOM>
</Detail>
</Header>
</POD>
</ns0:MT_POD_B1_System>
</payload>
I have set following things.
Inbound Channel
scenirio step identifier :z.xxxx
Inbound Channel(IPO):INB_B1_EVNT_ASYN_EVT
InboundType:Asynchronous
Process Trigger:B1Event
Identification Method: B1Event
Identification Parameter:n.a
Identifier:?????
Identifier Namespace:??????
can anyone help me?
Edited by: Sinha_Sinha on Feb 3, 2012 7:47 AMFound an authorization object was missing, that enabled the case types to show but hitting the GO button brought a page that can not be viewed in IE. on to the next hurdle..........
-
One-to-many relationship - remove item from collection problem
The ArrayCollection keeps folders tree - subtree of folder is kept in children property and is also ArrayCollection. This collection is fed by 'folders' custom assembler defined like this:
Assembler works with adding and deleting top level objects of collection.
Also, when I add new object to children property LCDS issues createItem for new object and then updateItem for children property of parent so everything is fine - new object is persisted and relationship is correct.
When I remove item from children collection ONLY updateItem on assembler is issued, so object is not deleted from repository. Why this managed reletionship works for adding new object to children collection but doesnt work for deleting?Hi;
A simple way may be create a view on referenced tables:
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as hr
SQL>
SQL> drop table resources;
Table dropped
SQL> create table resources(id number, name varchar2(12));
Table created
SQL> insert into resources values(1,'Doc....');
1 row inserted
SQL> insert into resources values(2,'Img....');
1 row inserted
SQL> drop table documents;
Table dropped
SQL> create table documents(id number, resource_id number,type varchar2(12));
Table created
SQL> insert into documents values(1,1,'txt');
1 row inserted
SQL> drop table images;
Table dropped
SQL> create table images(id number, resource_id number,path varchar2(24));
Table created
SQL> insert into images values(1,2,'/data01/images/img01.jpg');
1 row inserted
SQL> create or replace view vw_resource_ref as
2 select id, resource_id, type, null as path from documents
3 union
4 select id, resource_id, null as type, path from images;
View created
SQL> select * from resources r inner join vw_resource_ref rv on r.id = rv.resource_id;
ID NAME ID RESOURCE_ID TYPE PATH
1 Doc.... 1 1 txt
2 Img.... 1 2 /data01/images/img01.jpg
SQL> Regards.... -
Hi,
I am facing this weird issue. Any help would be appriciated.
I have view with the following definition:
CREATE VIEW [marketing].[OpenedMails]
AS
SELECT
ID_EmailAddress,
ID_Date_Opened,
ID_Contact,
ID_MailSendJobs,
COUNT(ID_OpenedMails) AS OpenCount,
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY CAST(ID_EmailAddress AS VARCHAR(10)) + ' ' + CAST(ID_MailSendJobs AS VARCHAR(10)) ORDER BY ID_Date_Opened) = 1 THEN 1
ELSE 0
END
AS UniqueOpenCount
FROM
dbo.Fact_OpenedMails
where ID_Contact = 382340
GROUP BY ID_EmailAddress, ID_Date_Opened, ID_Contact, ID_MailSendJobs;
order by ID_MailSendJobs
When I run the the select statement in the view definition I get combination of both 1 and 0 for the 'UniqueOpenCount' column.
But when I run the select from the view itself using the following query:
SELECT [ID_EmailAddress]
,[ID_Date_Opened]
,[ID_Contact]
,[ID_MailSendJobs]
,[OpenCount]
,[UniqueOpenCount]
FROM [marketing].[OpenedMails]
I get equal amount of rows but only 0 values for the 'UniqueOpenCount' column which seems to be very weird to me. Why is this happening ? Can anyone help regarding how to solve this ??
Result from the select inside view definition:
Result from the select query directly from the view:
Thanks in advance.
Vivek KamathPlease post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules. You failed. Temporal
data should use ISO-8601 formats – you failed again. Code should be in Standard SQL AS much AS possible and not local dialect.
This is minimal polite behavior on SQL forums.
Things like “ID_Date_Opened” are wrong. The affixes “id” and “date” are called attribute properties in ISO-11179 and data modeling. Since a date is a unit of measurement on a temporal scale, it cannot be an identifier by definition. My guess is this would be
“open_date” if it were done right. And the only display format in ANSI/ISO Standard SQL is ISO-8601 (yyyy-mm-dd)
An email address of -1?? Email addresses are VARCHAR(256), not numeric. There is no reason to cast them AS string!
Your vague “mail_send_jobs” is plural, but columns hold scalars and cannot be plural by definition. The partition cause can hold a list of columns:
WHEN ROW_NUMBER()
OVER (PARTITION BY email_address, mail_send_job
ORDER BY open_date)
= 1
THEN 1 ELSE 0 END
This still makes no sense, but the syntax is better. You do not understand how ROW_NUMBER() works.
Would you like to try again with proper Netiquette?
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
'select count(*) from x' returns 5460 rows and 'Select * from x' returns 0 rows
As you can see in the next lines something is wrong in my Oracle (8.0.6 on Win NT 4.0 sp 6a) :
Oracle8 Enterprise Edition Release 8.0.6.0.0 - Production
With the Partitioning option
PL/SQL Release 8.0.6.0.0 - Production
SQLWKS> SELECT * FROM V_TERRA_TE;
PERIOD_DATE PERIOD_TIME TERRARCV TERRASND TERCV TESND
0 rows selected.
SQLWKS> SELECT COUNT(*) FROM V_TERRA_TE;
COUNT(*)
5460
1 row selected.
V_TERRA_TE is a complex join of 5 Tables :
CREATE OR REPLACE VIEW "ACTUATE".V_TERRA_TE AS Select to_date(to_char(p1.period_date,'YYYYMMDD'),'YYYYMMDD') "PERIOD_DATE",
to_date(to_char(p1.period_time,'HH24:MI'),'HH24:MI') "PERIOD_TIME",
to_number(p1.caudalrcv + ((p3.caudalrcv + p4.caudalrcv)*(confterrate.conexadslterra/confterrate.conexadsltotal))) "TERRARCV",
to_number(p1.caudalsnd + ((p3.caudalsnd + p4.caudalsnd)*(confterrate.conexadslterra/confterrate.conexadsltotal))) "TERRASND",
to_number((p2.caudalrcv * confterrate.pctinfonegocio) + ((p3.caudalrcv + p4.caudalrcv)*(confterrate.conexadslte/confterrate.conexadsltotal)))"TERCV",
to_number((p2.caudalsnd * confterrate.pctinfonegocio) + ((p3.caudalsnd + p4.caudalsnd)*(confterrate.conexadslte/confterrate.conexadsltotal)))"TESND"
from p1,p2,p3,p4,confterrate
where (p1.period_date=p2.period_date)and
(p1.period_date=p3.period_date)and
(p1.period_date=p4.period_date)and
(p1.period_time=p3.period_time)and
(p1.period_time=p4.period_time)and
(p1.period_time=p2.period_time)and
to_char(p1.period_date,'MMYYYY')=to_char(confterrate.period_datetime,'MMYYYY');
I think that some not reported error happens in the select * with some temporary space or similar but only the message '0 rows selected' is displayed (instead the real error)
Could somebody help me ?
Thanks in advance
FranciscoForcing the Join/sort to be made on Disk (not on memory) the problem not happens. This demostrate that ORACLE has a VERY IMPORTANT BUG : It returns 0 rows wich is false.
To force it to work on disk i use this parameters :
alter session set sort_area_size=0
alter session set hash_join_enabled=false
Note : probably is not the best combination or use of parameters, but using it the query works as espected. -
JPA one to many relationship and serialization
Hi,
I modeled a one to may relationship like this:
Parent Class WFData:
@OneToMany(mappedBy = "wfData", targetEntity = Positionen.class)
private Set<Positionen> positionen;
Child Class Positionen
@ManyToOne
@JoinColumn(name = "WF_REF_ID", referencedColumnName = "ID")
private WFData wfData;
Now I want to create an EJB session bean with a method which returns an object of type WFData (parent) published as web service . When I try to deploy the web service I get the following error message: Unable to generate serialization framework for web service
Does anyone know how to serialize a one-to-many relationship so I can use these objects in a web service?
Best regards,
KevinI found the solution to get serialization correctly working and enable the service to be used in Visual Composer.
You need to add the tag @XmlTransient to the getter method of the attribute in the child class that references the parent.
@XmlTransient
public WFData getWfData() {
return wfData;
Maybe you are looking for
-
Can't rent/buy a movie in iTunes
I've been interested in renting or buying a couple of movies recently. I searched for them in iTunes on my iMac. They showed up in the search results, but they buy and rent buttons were greyed out. I've seen this before where the buy buttons were
-
Hi All, I have posted a similar post in the reporting forum as i'm looking at ways to handle non-working days within SR SLA's. For example, a Service Request is raised on Friday and I would like the number of days to close that service request to exc
-
Low Disk Space on Lenovo_Recovery (Q:) Partition
Hello all. I have had a Thinkpad T410 for around a month now and I am loving it. Recently I have been getting a warning saying: Low Disk Space You are running out of disk space on Lenovo_Recovery {Q:}. Click here to see if you can free space on this
-
I only have one home. I would like Autofill to fill out forms as I have my information set. I do not want dialog boxes constantly popping up while Autofill is filling out a form, asking me to pick a possible alternative state or road. I have one addr
-
Re-order doesnt work using personalization
Hi, I am trying to re-order few items on a page using personalizations. I am doing this at site level. PageLayout -> Header 1 -> Link1 (added using personalization) -> Other Items1 This appears good when i apply the changes. But on frequent logins th