Query joing Four tables
Hi,
I've four tables as below:
SQL> desc per_absence_attendances
Name Null? Type
ABSENCE_ATTENDANCE_ID NOT NULL NUMBER(10)
BUSINESS_GROUP_ID NOT NULL NUMBER(15)
ABSENCE_ATTENDANCE_TYPE_ID NOT NULL NUMBER(9)
ABS_ATTENDANCE_REASON_ID NUMBER(9)
PERSON_ID NOT NULL NUMBER(10)
AUTHORISING_PERSON_ID NUMBER(10)
REPLACEMENT_PERSON_ID NUMBER(10)
PERIOD_OF_INCAPACITY_ID NUMBER(9)
ABSENCE_DAYS NUMBER(9,4)
SQL> desc per_absence_attendance_types
Name Null? Type
ABSENCE_ATTENDANCE_TYPE_ID NOT NULL NUMBER(9)
BUSINESS_GROUP_ID NUMBER(15)
INPUT_VALUE_ID NUMBER(9)
DATE_EFFECTIVE NOT NULL DATE
NAME NOT NULL VARCHAR2(30)
ABSENCE_CATEGORY VARCHAR2(30)
SQL> desc per_all_people_f
Name Null? Type
PERSON_ID NOT NULL NUMBER(10)
EFFECTIVE_START_DATE NOT NULL DATE
EFFECTIVE_END_DATE NOT NULL DATE
BUSINESS_GROUP_ID NOT NULL NUMBER(15)
PERSON_TYPE_ID NOT NULL NUMBER(15)
FULL_NAME VARCHAR2(240)
SQL> desc Per_all_assignments_f
Name Null? Type
ASSIGNMENT_ID NOT NULL NUMBER(10)
PERSON_ID NOT NULL NUMBER(10)
SUPERVISOR_ASSIGNMENT_ID NUMBER(15)The tables are related as below:
i). per_all_people_f contains information about employee, like person_id, full names
ii). per_absence_attendances contains information for leave records for employees. This table is joined to per_all_people_f using the column PERSON_ID
iii). per_absence_attendance_types contains information about types of absences (e.g Annual Leave). Joined to per_absence_attendances on column ABSENCE_ATTENDANCE_TYPE_ID
iv). Per_all_assignments_f contains information about employee assignment (supervisor etc). Is joined to per_all_people_f using the column PERSON_ID. The coulmn SUPERVISOR_ASSIGNMENT_ID contains the person_id for the supervisor of this employee.
I would like to use SUPERVISOR_ASSIGNMENT_ID to get the Full name of the supervisor for this employee. Ultimately, I'm looking for an output like this:
FULL_NAME ABSENCE_TYPE ABSENCE_DAYS APPROVED_BY
XXXXX Annual Leave 5 yyyyWhere yyyy is the full name for the supervisor of employee xxxx. Anyone with a hint on this?
Regards
dula
Edited by: user13005731 on Jul 1, 2012 10:27 PM
may be
select p.full_name, supervisor.full_name as supervisor_full_name
from per_all_people_f p,
per_absence_attendances aa,
per_absence_attendance_types t,
per_all_assignments_f a,
per_all_people_f supervisor
where p.person_id = aa.person_id(+)
and aa.absence_attendance_type_id = t.absence_attendance_type_id(+)
and p.person_id = a.person_id
and sysdate between p.effective_start_date and p.effective_end_date
and supervisor.person_id = a.supervisor_assignment_id
Similar Messages
-
How to join four tables in Update query??
Please how to join four tables in a single query to update one table row??
You can use this syntax to update. Here updation of 1 column to a constant value (50) in multiple rows in Table A based on an associated 'SOURCE' value in table B
Table A joins to Table B based on the TableA.definition_id = TableB.Att_Def_id
like..
update TableA
set value =50
where
TableA.definition_id = TableB.Att_Def_id
and TABLEB.Source = 'NEWPRODUCT' -
Query 4 joined tables with internal joins to represent a complex hierarchy!
I've got to refine/replace a query (Oracle 9i) that
currently joins rows from four tables in a hierarchical
fashion that I use to produce a listing like this:
agency abc 1
....division def 1.1
........service ghi 1.1.1
........service jkl 1.1.2
............faq mno 1.1.2.1
............faq pqr 1.1.2.2
........service stu 1.1.3
....division vwx 1.2
........service yyy 1.2.1
............faq zzz 1.2.1.1
The change involves allowing for unlimited levels of
nested child divisions to produce a listing like this:
agency abc 1
....division def 1.1
........service ghi 1.1.1
........service jkl 1.1.2
............faq mno 1.1.2.1
............faq pqr 1.1.2.2
........service stu 1.1.3
....division vwx 1.2
........division xxx 1.2.1
............division aaa 1.2.1.1
............division bbb 1.2.1.2
................service aaa 1.2.1.2.1
....................faq fff 1.2.1.2.1.1
....................faq ggg 1.2.1.2.1.2
........service yyy 1.2.1
............faq zzz 1.2.1.1
Notice the insertion of three nested divisions under
division 1.2 with services and faqs under those. The
order of names throughout is alphabetic within a nesting
level.
Here's the SQL I currently use, without nested divisions
(it contains extra info that I use to control what and
how names are displayed):
SELECT
agency.agency_id AGENCY_ID,
agency.agency_type_id AGENCY_TYPE_ID,
agency.name AGENCY_NAME,
agency.acronym AGENCY_ACRONYM,
agency.expiration_date AGENCY_EXP,
agency.post_count AGENCY_POST,
agency.stat AGENCY_STAT,
agency_type.agency_type AGENCY_TYPE,
division.division_id DIV_ID,
division.name DIV_NAME,
division.transfer_number DIV_TRANS_NUM,
division.expiration_date DIV_EXP,
division.post_count DIV_POST,
division.stat DIV_STAT,
service.service_id SVC_ID,
service.name SVC_NAME,
service.taxonomy SVC_TAX,
service.keywords SVC_KEYWORDS,
service.action_type SVC_ACTION_TYPE,
service.sr_form_name SVC_SR_FORM,
service.expiration_date SVC_EXP,
service.post_count SVC_POST,
service.stat SVC_STAT,
faq.faq_id FAQ_ID,
faq.name FAQ_NAME,
faq.expiration_date FAQ_EXP,
faq.post_count FAQ_POST,
faq.stat FAQ_STAT
FROM
agency,
agency_type,
division left join service on
division.division_id=service.division_id left join
faq on service.service_id=faq.service_id
WHERE (
(agency_type.agency_type_id = agency.agency_type_id)
AND (agency.agency_id = division.agency_id)
AND (agency.agency_id = :agency_id )
It's very fast -- I can retrieve and display 5,000 rows
in seconds using Perl DBI and CGI -- and very easy to use
to produce the hierarchical listing of items from the
four tables. It is also very straightforward since I was
able to generate the SQL using the SQL modeler in TOAD
(I'm not the strongest SQL developer so I resort to
tools).
I need to get jump-started in the right direction to
determine what I need to add to my division table
(div_parent_id?), if I need a div_parent_child table to
define the relationships (rows with parent_id & child_id
pairs), and how to change or rewrite the SQL query. The
CGI form that will be used to define the relationships
will ask users to define children of a given division. I
envision presenting a list of divisions with null
parent_division_id columns for users to select from then
updating selected rows for selected divsions.
Thanks in advance for any help/guidance!
-GeneINLINE VIEWS!
select whatever_you_want
from (
SELECT FOLDER_ID, PARENT_FOLDER_ID, FOLDER_NAME
FROM FOLDERS
START WITH PARENT_FOLDER_ID = 0 CONNECT BY PARENT_FOLDER_ID = PRIOR FOLDER_ID
) tree, FILES
where tree.folder_id = files.folder_id -- or something like that
always try to keep the CONNECT BY limited to ONE AND ONLY table. then use that query in a subquery, a WITH clause, an inline view or something. do not try to JOIN or UNION with a CONNECT BY. it won't work the way you think it will, and even it returns the expected results, it will perform terribly.
* your mileage may vary
Message was edited by:
shoblock
added exclamation marks to show my excitement!!!! -
Sum of qty of four tables comapring with other table
I had four tables voy,bl,subbl,dcd, i have to find sum of qty form SUBBL and qty from DCD for all subbl group by CCD
TABLE VOY
INTVCN VCN
10 TEST
TABLE BL
VCN BL
10 200
10 201
TABLE SUBBL
subbl bl subbl ccd qty
100 200 s1 c1 100
101 200 s2 c1 60
102 200 S3 C2 20
103 201 s1 c1 40
104 201 s2 c1 20
TABLE DCD
crg_seq_no subbl qty weight
1 100 50
2 100 25
3 101 30
4 101 20
5 102 20
6 103 20
7 103 10
8 104 20
Following query was executed but we are getting wrong sum for qty (SUBBL)
Query
select d.ccd,sum(d.qty),sum(f.qty) from
(Select distinct a.ccd,a.subbl,a.qty from subbl A, bl B, voy C
Where a.bl = b.bl and b.vcn = c. intvcn and c. vcn = 'TEST') D,subbl E, dcd F
where d.ccd = e.ccd and d.subbl = e.subbl and d.subbl = f.subbl
group by d.ccd
Result
CCD SUM(D.QTY) SUM(F.QTY)
C1 420 175
C2 20 20
Expected result
CCD SUM(D.QTY) SUM(F.QTY)
C1 220 175
C2 20 20Hi,
This query is OK with you.
But i don't know why you use distinct in first inline view
select d.ccd,sum(d.qty),sum(f.qty) from
(Select distinct a.ccd,a.subbl,a.qty from subbl A, bl B, voy C
Where a.bl = b.bl and b.vcn = c. intvcn and c. vcn = 'TEST') D,
(select subbl,sum(qty) qty from dcd group by subbl) F
where d.subbl = f.subbl
group by d.ccd
Bye
Chitta -
hi
i have four tables, given the sample data for the relevant field of the tables here under
table company:
company_id comp_parent_org_id
241 238
457 279
225 200
478 200
10 279
table representative:
rep_id rep_parent_org_id
238 234
279 170
200 234
table mobile_unit :
rep_id company_id msisdn creation_date
238 241 91944400000 1-Sep-08
279 457 91944400005 1-Sep-07
200 225 91944400010 10-Sep-08
200 478 91944400100 5-Jul-08
279 10 91944410100 5-Jul-08
table organization :
organization_id name
234 chennai
170 kerala
238 al
279 da
200 sd
now i want to join all these table to get the output as below
table output required: between creation_date in table mobile_unit
name no of companies no of msisdns
chennai 3 3
kerala 2 2
the organization table contains the name for all the ids in the table company, representative, etc
name field should reflect the name of the distinct rep_parent_org_id
companies column should count the number of company_id in company table w.r.t comp_parent_org_id (same as rep_id in representative table) which in turn should lie under the rep_parent_org_id
for example here rep_parent_org_id 170 , its name is kerala, then under this id we have got 279 as the rep_id (same as comp_parent_org_id). with 279 as comp_parent_org_id we have got two company_id so no of companies =2
no of msisdns column
rep_parent_org_id 170 , its name is kerala, then under this id we have got 279 as the rep_id. for this 279 rep_id , we have got two msisdn (i.e 91944400005 & 91944410100) so count is 2
i tried in this way as per the answer for my previous question, but am not able to count companies
select DISTINCT o.name, count(mu.msisdn)
FROM RTMS.ORGANIZATION O
INNER JOIN RTMS.REPRESENTATIVE R
ON O.ORGANIZATION_ID=R.PARENT_ORG_ID
INNER JOIN RTMS.MOBILE_UNIT MU
ON R.REP_ID=MU.REP_ID
GROUP BY O.NAME
can anybody help me out
thanks
Aemunathan
Edited by: Aemunathan on Sep 10, 2008 11:15 PMHi,
Good question! Clear question, carefully written, complete sample data (but not too much), nothing irrelevant, clear sample output.
Would you like to make your questions even better? Enclose the code and data in code tags, as described in the FAQ, to preserve spacing.
You have a one-to-many relationship between representative and mobile_unit, so when you join those two tables, you can multiply rows in representative. For example, there are two rows in mobile_unit with rep_id = 279, so when you join mobile_unit to representative, it looks like there were two rows from representative with rep_id = 279. In the three-table query you posted, that was okay.
You also have a one-to-many relationship between representative and company. If you simply join company the way you joined mobile_unit, those "extra" rows in representative become a problem. For example, there are two rows in company with comp_parent_rep_id = 279. If, because of the join with mobile unit, there seem to be two rows from represnetative with rep_id = 279, then both of the rows from comany will join to both of the rows from representative.
To solve that problem, you should do the join between representative and mobile_unit separately from the join between representative and company. Here's one way to do that:
WITH m AS
( -- Begin sub-query m, counts from mobil_unit
SELECT rep_parent_org_id
, COUNT (msisdn) AS msisdn_cnt
FROM representative r
JOIN mobile_unit mu ON r.rep_id = mu.rep_id
GROUP BY rep_parent_org_id
) -- End sub-query m, counts from mobil_unit
, c AS
( -- Begin sub-query c, counts from company
SELECT rep_parent_org_id
, COUNT (company_id) AS company_cnt
FROM representative r
JOIN company c ON r.rep_id = c.comp_parent_org_id
GROUP BY rep_parent_org_id
) -- End sub-query c, counts from company
SELECT o.name
, m.msisdn_cnt
, c.company_cnt
FROM organization o
JOIN m ON o.organization_id = m.rep_parent_org_id
JOIN c ON o.organization_id = c.rep_parent_org_id
;If there is a chance that some organiztion will have matching rows in mobile_unit but not in company (or vice-versa), then you should make the joins in the main query outer joins. -
How to use one query against multiple table and recieve one report?
I have duplicate tables, (except for their names of course) with commodities prices. They have the same column headings, but the data is different of course. I have a query that gives me a certain piece of information I am looking for but now I need to run this query against every table. I will do this every day as well, to see if the buying criteria is met. There are alot of tables though (256). Is there a way to say run query in all tables and return the results in one place? Thanks for your help.
hey
a. the all 256 tables whuld be one big partitoned table
b. you can use all_tables in order to write a select that will write the report for you:
SQL> set head off
SQL> select 'select * from (' from dual
2 union all
3 select 'select count(*) from ' || table_name || ' union all ' from a
4 where table_name like 'DB%' AND ROWNUM <= 3
5 union all
6 select ')' from dual;
select * from (
select count(*) from DBMS_LOCK_ALLOCATED union all
select count(*) from DBMS_ALERT_INFO union all
select count(*) from DBMS_UPG_LOG$ union all
remove the last 'union all', and tun the generated quary -
SQL> set head on
SQL> select * from (
2 select count(*) from DBMS_LOCK_ALLOCATED union all
3 select count(*) from DBMS_ALERT_INFO union all
4 select count(*) from DBMS_UPG_LOG$
5 );
COUNT(*)
0
0
0
Amiel -
Run a query on linked tables to create a new datasource
Using Crystal XI
I have a report that draws from two data sources. They can't be joined at the server side, but they are linked in Crystal Database Expert.
I can't figure out if Crystal gives me a way to write an SQL Query to run an aggregate function referencing both tables. The results of this query would be the datasource for a graph in the report. I'm wondering if Crystal gives me a way, maybe through subreports, to write the query I need.
More concretely:
And I want to include in my datasource alarmId, Hour and the Maximum amount of calls received in any one hour for any one station (this maximum is to provide scale for a graph)
In one table nameed AlarmStartTimes I have data like
Alarms
AlarmID Hour Recipient
Alarm1 8 Joe
Alarm23 10 Mark
Alarm60 7 Joe
Alarm95 8 Linda
In another I have data like
EELocation
Recipient Location
Joe Station1
Mark Station2
Linda Station1
So if I could just join my talbes at the server side I'd use a query like:
select *, max(select count(AlarmID) from Alarms, EELocation from Alarms Join EELocationo on Alarms.Recipient=EELocation.Recipient group by Hour, Location) AS from Alarms
Anyway, that's probably got a syntax error or 4 in it, but you get the idea.
I can't group on the database side. Since Crystal is able to link the two tables and successfully group them out by Location, it seems like there should be some way for me to run a query against the tables reflecting that existing link, but I can't see how to do it.
The reason I can't link on database side is that the data is in two databases, and it's not known what the location of the databases is at report-writing time. The location of the databases gets set via the Crystal API when the report is launched from an application.Since you have 2 datasource in the report you are limited on what you can use in crystal, such as crystal will not allow you to use sql expressions.
-
How to get save result from EXECUTE from a dynamic SQL query in another table?
Hi everyone,
I have this query:
declare @query varchar(max) = ''
declare @par varchar(10)
SELECT @par = col1 FROM Set
declare @region varchar(50)
SELECT @region = Region FROM Customer
declare @key int
SELECT @key = CustomerKey FROM Customer
SET @query = 'SELECT CustomerKey FROM Customer where ' + @par + ' = '+ @key+ ' '
EXECUTE (@query)
With this query I want get col1 from SET and compare it to the column Region from Customer. I would like to get the matching CustomerKey for it.
After execution it says commands are executed successfully. But I want to save the result from @query in another table. I looked it up and most people say to use sp_executesql. I tried a few constructions as sampled and I would always get this error:
Msg 214, Level 16, State 2, Procedure sp_executesql, Line 12
Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.
So the output should be a list of CustomerKeys in another table.
How can I save the results from EXECUTE into a variable? Then I assume I can INSERT INTO - SELECT in another table.
ThanksCREATE TABLE Customer
(CustomerKey INT , Name NVARCHAR(100));
GO
INSERT dbo.Customer
VALUES ( 1, N'Sam' )
GO
DECLARE @query nvarchar(max) = ''
declare @par varchar(10) = 'Name',
@key varchar(10) = 'Sam'
CREATE TABLE #temp ( CustomerKey INT );
SET @query =
insert #temp
SELECT CustomerKey
FROM Customer
where ' + @par + ' = '''+ @key+ ''' '
PRINT @query
EXEC sp_executesql @query
SELECT *
FROM #temp
DROP TABLE #temp;
DROP TABLE dbo.Customer
Cheers,
Saeid Hasani
Database Consultant
Please feel free to contact me at [email protected] as well as on Twitter and Facebook.
[My Writings on TechNet Wiki] [T-SQL Blog] [Curah!]
[Twitter] [Facebook] [Email] -
Weird problem with mysql query and data table buttons !!!!
Hi,
I'm using jsc 2 update 1 on windows and mysql 4.1 . I have a page with a data table. One column of the data table contains "Details" buttons.
Source query for the table is :
SELECT tbl_tesserati.idtbl_tesserati idTesserato,
tbl_tesserati.num_tessera,
tbl_tesserati.nome,
tbl_societa.codice_meccanografico
FROM tbl_tesserati
INNER JOIN tbl_rel_tesserato_discipline_societa ON tbl_tesserati.idtbl_tesserati = tbl_rel_tesserato_discipline_societa.id_tesserato
INNER JOIN tbl_cariche ON tbl_rel_tesserato_discipline_societa.id_carica = tbl_cariche.idtbl_cariche
INNER JOIN tbl_qualifiche ON tbl_rel_tesserato_discipline_societa.id_qualifica = tbl_qualifiche.idtbl_qualifiche
INNER JOIN tbl_discipline ON tbl_rel_tesserato_discipline_societa.id_disciplina = tbl_discipline.idtbl_discipline
INNER JOIN tbl_societa ON tbl_rel_tesserato_discipline_societa.id_societa = tbl_societa.idtbl_societa
LEFT JOIN tbl_province ON tbl_societa.provincia_sede_sociale = tbl_province.idtbl_province
LEFT JOIN tbl_comuni ON tbl_societa.comune_sede_sociale = tbl_comuni.idtbl_comuni
LEFT JOIN tbl_rel_tesserato_discipline_praticate ON tbl_rel_tesserato_discipline_praticate.tessera_id=
tbl_rel_tesserato_discipline_societa.idtbl_rel_tesserato_discipline
LEFT JOIN tbl_discipline_praticate ON tbl_discipline_praticate.idtbl_disciplina_praticate=tbl_rel_tesserato_discipline_praticate.disciplina_praticata_id
WHERE
tbl_tesserati.cognome LIKE ?
AND tbl_tesserati.nome LIKE ?
AND tbl_rel_tesserato_discipline_societa.id_societa LIKE ?
AND tbl_tesserati.idtbl_tesserati LIKE ?
AND tbl_cariche.idtbl_cariche LIKE ?
AND tbl_qualifiche.idtbl_qualifiche LIKE ?
AND tbl_tesserati.data_nascita >= ?
AND tbl_tesserati.data_nascita<= ?
AND tbl_discipline.idtbl_discipline LIKE ?
AND codice_affiliazione LIKE ?
AND tbl_societa.denominazione LIKE ?
AND YEAR(tbl_rel_tesserato_discipline_societa.data_scadenza) LIKE ?
AND (tbl_province.nome LIKE ? OR tbl_province.nome IS NULL)
AND ( tbl_comuni.nome LIKE ? OR tbl_comuni.nome IS NULL)
The tbl_tesserati.data_nascita is a mysql date field.
The click event handler code for the "Details" Button is:
public String btnModificaTesserato_action() {
try{
TableRowDataProvider rowData= (TableRowDataProvider)getBean("currentRowTesserati");
getRequestBean1().setId_tesserato((Long)rowData.getValue("idTesserato"));
} catch(Exception ex) {
log("errore nella query",ex);
return "dettaglioTesseratoSocieta";
}When i run the project and open the page the table is correctly rendered and populated with some rows. But when i click on details button nothing happens, the page is simply reloaded.
If i set a breakpoint in the code line TableRowDataProvider rowData= (TableRowDataProvider)getBean("currentRowTesserati");the debbuger does not stop the code execution ! As if the button was never clicked!
I tried to modify the source query to :
SELECT tbl_tesserati.idtbl_tesserati idTesserato,
tbl_tesserati.num_tessera,
tbl_tesserati.nome,
tbl_societa.codice_meccanografico
FROM tbl_tesserati
INNER JOIN tbl_rel_tesserato_discipline_societa ON tbl_tesserati.idtbl_tesserati = tbl_rel_tesserato_discipline_societa.id_tesserato
INNER JOIN tbl_cariche ON tbl_rel_tesserato_discipline_societa.id_carica = tbl_cariche.idtbl_cariche
INNER JOIN tbl_qualifiche ON tbl_rel_tesserato_discipline_societa.id_qualifica = tbl_qualifiche.idtbl_qualifiche
INNER JOIN tbl_discipline ON tbl_rel_tesserato_discipline_societa.id_disciplina = tbl_discipline.idtbl_discipline
INNER JOIN tbl_societa ON tbl_rel_tesserato_discipline_societa.id_societa = tbl_societa.idtbl_societa
LEFT JOIN tbl_province ON tbl_societa.provincia_sede_sociale = tbl_province.idtbl_province
LEFT JOIN tbl_comuni ON tbl_societa.comune_sede_sociale = tbl_comuni.idtbl_comuni
LEFT JOIN tbl_rel_tesserato_discipline_praticate ON tbl_rel_tesserato_discipline_praticate.tessera_id=
tbl_rel_tesserato_discipline_societa.idtbl_rel_tesserato_discipline
LEFT JOIN tbl_discipline_praticate ON tbl_discipline_praticate.idtbl_disciplina_praticate=tbl_rel_tesserato_discipline_praticate.disciplina_praticata_id
WHERE
tbl_tesserati.cognome LIKE ?
AND tbl_tesserati.nome LIKE ?
AND tbl_rel_tesserato_discipline_societa.id_societa LIKE ?
AND tbl_tesserati.idtbl_tesserati LIKE ?
AND tbl_cariche.idtbl_cariche LIKE ?
AND tbl_qualifiche.idtbl_qualifiche LIKE ?
AND tbl_tesserati.data_nascita >= ?
OR tbl_tesserati.data_nascita<= ?
AND tbl_discipline.idtbl_discipline LIKE ?
AND codice_affiliazione LIKE ?
AND tbl_societa.denominazione LIKE ?
AND YEAR(tbl_rel_tesserato_discipline_societa.data_scadenza) LIKE ?
AND (tbl_province.nome LIKE ? OR tbl_province.nome IS NULL)
AND ( tbl_comuni.nome LIKE ? OR tbl_comuni.nome IS NULL)
Using this query everything works well !! The click handler works and the debugger too !!
I changed only the AND in OR !!!
I also tried to change mysql-x-x-connector driver but without solving my problem.
Can someone help me ?
Thanks
GiorgioYou'll find that it is more to do with the way MySql deals with dates than anything else! Depending on how your date field is setup, then try using a BETWEEN statement for those 2 lines in your first query e.g.
AND ( tbl_tesserati.data_nascita BETWEEN ? AND ?)
The date column needs to be in the ISO format to work. If you examine your second query output, you might discover that the output is only going to refer to one parameter (probably the OR one). Did you manage to view the output logs from the application server? You would have got an idea from there with a message like stating a conversion error'.
Alternatively, you could try using the to_days() function and convert it directly to a number which would be a lot easier to deal with. For example:
AND to_days(tbl_tesserati.data_nascita >= ? )
AND to_days( tbl_tesserati.data_nascita<= ? )
Or try the BETWEEN version with to_days() and see what you get.
More info about date formatting (v5) here:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_to-days
Before I forget, sometimes you may need to treat dates as Strings rather 'Long' as you did.
As a matter of interest, did you try your query in a different piece of software?
If my queries are a little more complicated, I tend to try MySql queries out in the free MySql query browser and also double check in another to verify certain issues. I found it easier to develop SQL in a seperate program then import the final version to JSC making the required modifications for parameters.
Message was edited by:
aerostra -
SQL query with From table being entered in twice
I have a query that is doing an exist clause with the inner select statement querying the T_PROJECTS table using two different alias "t3 & t2".
SELECT t0.ID, t0.EFFECTIVEDATE, t0.CUSTOMERID, t0.PROJECTID, .... FROM T_FINANCIALDATAS t0 WHERE ((t0.PROJECTID = 2271) AND (EXISTS (SELECT t1.TMPUSERID FROM T_PROJECTS t3, T_PROJECTS t2 , T_PROJECTSUSERS t1 WHERE (((( t2.CUSTOMERID = 1) AND (t1.USERID = 2276)) AND (t1.PROJECTID = t3.ID )) AND ( t2.ID = t1.PROJECTID))) AND (t0.CUSTOMERID = 1)))
They need to be combined so I'm using only one table alias. They way the query get's built is a little complicated. The Exist clause get's built as a ReportQuery and then that get's passed into another method which eventually is added to a top level Expression as such:
ReportQuery existsQuery = new ReportQuery(existsClass, existsExpressionHolder.getExpression());
expHolder.addAnd(expHolder.getExpressionBuilder().exists(existsQuery));
Question: what causes the double table alias from showing up? From what I read it seems like it's caused when you use two different ExpressionBuilders?Could you include the code that builds the Expression.
Perhaps try to reproduce the issue in a simple isolated example. Generally every ExpressionBuilder used in a query represents a table/alias.
What version of TopLink are you using?
The duplicate alias seems repetitive, but doesn't seem like it will have any effect on the query result, other than its efficiency.
James : http://www.eclipselink.org -
View Criteria in ADF Query Panel with Table-Class Cast Exception
Hi,
I am getting Class Cast Exception when using view criteria for ADF Query Panel with Table. The version I am using is 11g Release 1(11.1.1.2.0)
Here is what I did:
1. created a view criteria on a view object
2. all are optional
3. all are Strings
3. Dragged the view criteria as a query component (ADF Query panel with Query table) on to the design layout
and the error when I clicked the Search button is:
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1289)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at sni.foundation.facesextensions.filters.FoundationFilter.doFilter(FoundationFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._clearFilterCriteriaRows(FacesCtrlSearchBinding.java:4549)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._addFilterCriteria(FacesCtrlSearchBinding.java:4603)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
Thanks
VenkateshHi Frank.
I'm using JDev 11.1.1.3.0 as you suggest the error is no longer present in the latest version.
I can pick my query from the "Saved Search" pick list on the QueryPanel list of queries just fine, and it sets up the filter properly, but when I press the "Search" button, I get the same reported error...
<RegistrationConfigurator><handleError> Server Exception during PPR, #1
javax.el.ELException: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1303)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:115)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassCastException: oracle.jbo.common.ViewCriteriaImpl cannot be cast to oracle.jbo.ViewCriteriaRow
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._clearFilterCriteriaRows(FacesCtrlSearchBinding.java:4588)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._addFilterCriteria(FacesCtrlSearchBinding.java:4642)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:424)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
... 42 more -
Creating SELECT query between 3 tables
Hi there,
Im trying to create a SELECT query between 3 tables and it is driving me round the bend.
I have 3 tables connected together which are:
MODUL
modulid
modulname
modulevel
STUDENT
studentid
surname
inits
s e x
phone
email
logon
STUDREGOCCUR
modulid
acyear
semester
occletter
studentid
result
I want to select the fields surname, inits, studentid from the STUDENT table, modulname from the MODUL table and result from my STUDREGOCCUR table that is NOT NULL.
I have tried SELECT STUDENT.STUDENTID, STUDENT.INITS, STUDENT.SURNAME, MODUL.MODULNAME, STUDREGOCCUR.RESULT WHERE STUDREGOCCUR.RESULT IS NOT NULL;
I have also tried many other ways and done research hwich hasnt really helped me unfortunately.
Im quite new to SELECT queries and im not sure where im going wrong, i would greatly appreciate if someone could help me solve my problem.
Thanks for the help :)
Edited by: user633643 on 06-Dec-2008 08:09If you want data from multiple tables you would need to perform a join. The general form would be:
select t1.cola, t2.col2, t3.col.x
from table_a a, table_b b, table_c c
where a.key = b.key
and b.key = c.key
or perhaps c relates back directly to a so it is a.key = c.key where key can be any column whose value is equilivent in what it represents to the value it is being compared to, that is, student_number = student_number or the columns regardless of name are both building numbers, room numbers, etc ....
This is not your exact solution but it should help.
HTH -- Mark D Powell -- -
XI--- R/3 scenario: directly access and query a Y-table in R/3
Hi forum,
I need to make a XI--->R/3 scenario, i want to access and query a table in R/3 (a Y transparent table),
i have been suggested to use a Sysnchronous call to BAPI/Function module, but i want to know whether there's a way i can access/query a Y-Table in the R/3 directly without using a function module in it,hi sudeep,
to access a table in r/3 u can either go for an rfc or a server proxy.
>>whether there's a way i can access/query a Y-Table in the R/3 directly without using a function module in it,
do u mean querying the database directly? u "can" ofcourse do it but <b>shud never</b> access r/3 database directly.
[reward if helpful]
regards,
latika. -
Finding the Text of SQL Query causing Full Table Scans
Hi,
does anyone have a sql script, that shows the complete sql text of queries that have caused a full table scan?
Please also let me know as to how soon this script needs to be run, in the sense does it work only while the query is running or would it work once it completes (if so is there a valid duration, such as until next restart, etc.)
Your help is appreciated.
Thx,
MayuranFinding the Text of SQL Query Causing Full Table Scan
-
Failing to refresh LOV fields added in the query panel with table
Hi.. Iam using Jdev 11.1.1.2.0
I have a scenario like ..i need to add 2 cascaded lovs in search panel and clicking on search button, the result should be displayed in table form.
For example..
I have cascaded LOV fields departmentId and Firstname ,
first name dropdown values depends on the selection of value in DepartmentIddropdown. I need to add only these 2 fields in search panel and clciking on search buton , the result should be displayed in emp table.
I have achieved the same creating View criteria with 2 fields and dragging and dropping that as query panel with table. But my problem is First name lov is not populating based on department id. It is showing static dropdown list.
Please help me how to achieve this ? thanks in advance.
Regards
Alekhya.Thanks for the reply.. actually if iam using those cascaded lovs in a form then we can set properties as u mentioned to refresh and display values correctly in the dropdown.
My scenario is like i need to use those fields in query panel header
code snippet
<af:panelHeader text="Employees" id="ph1">
<af:query id="qryId1" headerText="Search" disclosed="true"
value="#{bindings.EmployeesViewCriteria1Query1.queryDescriptor}"
model="#{bindings.EmployeesViewCriteria1Query1.queryModel}"
queryListener="#{bindings.EmployeesViewCriteria1Query1.processQuery}"
queryOperationListener="#{bindings.EmployeesViewCriteria1Query1.processQueryOperation}"
resultComponentId="::resId1"/>
</af:panelHeader>
Iam not having any field names to add properties.
Regards
Alekhya
Maybe you are looking for
-
How do I outline an object with a dash line in Photoshop CS6?
How do I outline an object (silhouette figure) with a dash line in Photoshop CS6? ... never was this difficult.
-
It is probably easy but ... (1) If I want to see my account, how much do I pay each year, how much space do I have for storage what link do I use ... everything goes to support and explanations ... (2) How do I access iCloud Storage? What if I need m
-
WS Adapter: Scenario SAP(Client)Proxy= PI= WS
Hello Experts, I have a scenario - SAP to PI to 3rdParty(NON-SAP). This is merely data getting pushed out of SAP ECC to 3rd party. Not request-response type. The REQUIREMENT is P2P Communication Scenario thus will not make use of Integration Sever.
-
I have problem with my Dock after upgrade to Mountain Lion. Update to v.10.8.1 did't help Problems: When have more than 14 programs opened in dock, more icons doesn't show up When close some app, it still stays in the Dock, when I click on it by left
-
Hi I'm using 9780 bold I've downloaded blackberry bridge,so now I'm struggling to pair with other phones how it works cause I don't see the barcode that they've mentioned on the manual list,the phone that I was try to pair with is 9700 bold any idea