Three tables open = three connections needed ?
I need to navegate two tables and execute insert statements in a third one.
Do I need three connections ?
well, that is a good point.
BUT
why do I get this error if I try to open three
statements at the same time ??
java.sql.SQLException: [Microsoft][ODBC SQL Server
Driver]Connection is busy with results for another
hstmt
Well, you didn't give very many details... now the picture is forming clearer. So are you trying to process the queries/updates simultaneously (via multiple threads)? That could change the requirement.
Similar Messages
-
I am trying to develop a query in MS Access 2010 to join two tables using three joins, one of which is a (between) date range. The tables are contained in Access. The reason
the tables are contained in access because they are imported from different ODBC warehouses and the data is formatted for uniformity. I believe this cannot be developed using MS Visual Query Designer. I think writing a query in SQL would be suiting this project.
ABCPART links to XYZPART. ABCSERIAL links to XYZSERIAL. ABCDATE links to (between) XYZDATE1 and ZYZDATE2.
[ABCTABLE]
ABCORDER
ABCPART
ABCSERIAL
ABCDATE
[ZYXTABLE]
XYZORDER
XYZPART
XYZSERIAL
XYZDATE1
XYZDATE2Thank you for the looking at the post. The actual table names are rather ambiguous. I renamed them so it would make more sense. I will explain more and give the actual names. What I do not have is the actual data in the table. That is something I don't have
on this computer. There are no "Null" fields in either of the tables.
This table has many orders (MSORDER) that need to match one order (GLORDER) in GLORDR. This is based on MSPART joined to GLPART, MSSERIAL joined to GLSERIAL, and MSOPNDATE joined if it falls between GLSTARTDATE and GLENDDATE.
[MSORDR]
MSORDER
MSPART
MSSERIAL
MSOPNDATE
11111111
4444444
55555
2/4/2015
22222222
6666666
11111
1/6/2015
33333333
6666666
11111
3/5/2015
This table has one order for every part number and every serial number.
[GLORDR]
GLORDER
GLPART
GLSERIAL
GLSTARTDATE
GLENDDATE
ABC11111
444444
55555
1/2/2015
4/4/2015
ABC22222
666666
11111
1/5/2015
4/10/2015
AAA11111
555555
22222
3/2/2015
4/10/2015
Post Query table
GLORDER
MSORDER
GLSTARTDATE
GLENDDATE
MSOPNDATE
ABC11111
11111111
1/2/2015
4/4/2015
2/4/2015
ABC22222
22222222
1/5/2015
4/10/2015
1/6/2015
ABC22222
33333333
1/5/2015
4/10/2015
3/5/2015
This is the SQL minus the between date join.
SELECT GLORDR.GLORDER, MSORDR.MSORDER, GLORDR.GLSTARTDATE, GLORDR.GLENDDATE, MSORDR.MSOPNDATE
FROM GLORDR INNER JOIN MSORDR ON (GLORDR.GLSERIAL = MSORDR.MSSERIAL) AND (GLORDR.GLPART = MSORDR.MSPART); -
Need help with the update queries - joining three tables -
We have three tables shown below, each with millions of rows;
And need some updates in here;
T_CHECK->TOTAL_AMT_PAID should be equal to
aim00.t_chck_clm_xref->amt_paid + aim01.t_chck_clm_xref->amt_paid;
Some CHECK_SAK values exist in aim00.t_chck_clm_xref and some exist in aim01.t_chck_clm_xref;
We tried to update using the queries within PL/SQL shown below:
Is there a way to make these more effecient?
SQL> desc aim.t_check;
Name Null? Type
CHECK_SAK NOT NULL NUMBER(9)
TOTAL_AMT_PAID NOT NULL NUMBER(11,2)
DTE_ISSUE NOT NULL NUMBER(8)
SQL> desc aim00.t_chck_clm_xref
Name Null? Type
CHECK_SAK NOT NULL NUMBER(9)
AMT_PAID NOT NULL NUMBER(10,2)
SQL> desc aim01.t_chck_clm_xref
Name Null? Type
CHECK_SAK NOT NULL NUMBER(9)
AMT_PAID NOT NULL NUMBER(10,2)
create or replace PROCEDURE CHECKSUPDATE IS
cursor my_cursor is
select /*+ DRIVING_SITE(t_check) INDEX(t_check) */
tot, mid, aim.t_check.total_amt_paid from
(select sum(aim01.t_chck_clm_xref.amt_paid) tot,
aim01.t_chck_clm_xref.check_sak mid from aim01.t_chck_clm_xref
where
not exists (select 'x' from aim00.t_chck_clm_xref
where aim01.t_chck_clm_xref.check_sak = aim00.t_chck_clm_xref.check_sak
group by aim01.t_chck_clm_xref.check_sak) TABLE1, aim.t_check
where aim.t_check.check_sak = table1.mid
and aim.t_check.total_amt_paid <> tot;
my_count NUMBER;
BEGIN
my_count:=0;
for my_pos in my_cursor loop
update aim.t_check a set total_amt_paid=my_pos.tot
where a.check_sak=my_pos.mid;
my_count:=my_count+1;
if (mod(my_count,1000)=0) THEN
commit;
end if;
end loop;
commit;
END CHECKSUPDATE;>
SQL> desc t_check;
Name Null? Type
CHECK_SAK NUMBER(9)
TOTAL_AMT_PAID NUMBER(11,2)
DTE_ISSUE NUMBER(8)
SQL> desc t_chck_clm_xref
Name Null? Type
CHECK_SAK NUMBER(9)
AMT_PAID NUMBER(10,2)
SQL> desc t_test
Name Null? Type
CHECK_SAK NUMBER(9)
AMT_PAID NUMBER(10,2)
select check_sak, sum(amt_paid)
from (
select check_sak, amt_paid from t_chck_clm_xref
union all
select check_sak, amt_paid from t_test
group by check_sak;and use this query in an UPDATE statement or a MERGE statement, as Tubby suggested, against the T_CHECK table.
isotope -
SQL Join Three Tables DW MX2004 ASP
I'm trying to display records using three tables joined as
shown in the SQL code below. I'm getting "no data" message when I
test the result page from the search form. I'm using the advanced
Dreamweaver form to enter the SQL commands. I have never used this
feature of Dreamweaver before and I'm not sure if the code below
follows the way DW MX will understand what I'm trying to do. Below
is the code based on Standard SQL....not sure if DW compatible...
This is what I typed in the SQL box:
SELECT
ResourceSkillMapping.resourceSkillMapID,ResourceSkillMapping.skillID,
ResourceSkillMapping.competenceLevel,skill.skillname,resource.resourceName,resource.resour ceLoginId
FROM ResourceSkillMapping INNER JOIN Skill ON
ResourceSkillMapping.skillID = Skill.skillID
INNER JOIN Resource ON
ResourceSkillMapping.resourceSkillMapID =
Resource.resourceSkillMapID
WHERE (Skill.skillName = '%Skill_asp%') AND
(Resource.resourceLoginID = '%Agent_asp%')
AND (Resource.active = 1)
These is typed in the variables box:
Variable Default Runtime
Skill_asp 1 Request.QueryString("skillname")
Agent_asp 1 Request.QueryString("resourceLoginID")
I'm using asp and the "Get" url parameters in the search form
calling the result recordset in DW. I'm connecting to a SQL 2000
server. Is this notation DW correct? Am I joining the tables
correctly. The tables are ResourceSkillMapping, Skill and Resource.
All I need is to be able to search by ResourceLoginID and by
skillName on all active records (active=1). The plan is to be able
to click on a result record and go to a detail page to update the
"CompetencyLevel" field in the resourceSkillMapping table using the
update behavior in DW.
Please help as this project is due this Tue and have been
trying every posibility I could think so far....I have read all the
DW help facilities many pages on this and still keep getting the
"no data" message
Thank you,
Carlos
[email protected]>> WHERE (Skill.skillName = '%Skill_asp%') AND
(Resource.resourceLoginID =
>>'%Agent_asp%')
I would say that this is where your problem is. Change it to:
WHERE (Skill.skillName LIKE '%Skill_asp%') AND
(Resource.resourceLoginID
LIKE
'%Agent_asp%')
and your query should work, unless of course you are actually
searching for
2 strings that read %Skill_asp% and %Agent_asp% exactly.
Pat.
"ITCoreTeam" <[email protected]> wrote in
message
news:[email protected]...
> I'm trying to display records using three tables joined
as shown in the
> SQL
> code below. I'm getting "no data" message when I test
the result page from
> the
> search form. I'm using the advanced Dreamweaver form to
enter the SQL
> commands.
> I have never used this feature of Dreamweaver before and
I'm not sure if
> the
> code below follows the way DW MX will understand what
I'm trying to do.
> Below
> is the code based on Standard SQL....not sure if DW
compatible...
> This is what I typed in the SQL box:
>
> SELECT
>
ResourceSkillMapping.resourceSkillMapID,ResourceSkillMapping.skillID,
>
>
ResourceSkillMapping.competenceLevel,skill.skillname,resource.resourceName,resou
> rce.resourceLoginId
> FROM ResourceSkillMapping INNER JOIN Skill ON
ResourceSkillMapping.skillID
> =
> Skill.skillID
> INNER JOIN Resource ON
ResourceSkillMapping.resourceSkillMapID =
> Resource.resourceSkillMapID
> WHERE (Skill.skillName = '%Skill_asp%') AND
(Resource.resourceLoginID =
> '%Agent_asp%')
> AND (Resource.active = 1)
>
> These is typed in the variables box:
> Variable Default Runtime
> Skill_asp 1 Request.QueryString("skillname")
> Agent_asp 1 Request.QueryString("resourceLoginID")
>
> I'm using asp and the "Get" url parameters in the search
form calling the
> result recordset in DW. I'm connecting to a SQL 2000
server. Is this
> notation
> DW correct? Am I joining the tables correctly. The
tables are
> ResourceSkillMapping, Skill and Resource. All I need is
to be able to
> search by
> ResourceLoginID and by skillName on all active records
(active=1). The
> plan is
> to be able to click on a result record and go to a
detail page to update
> the
> "CompetencyLevel" field in the resourceSkillMapping
table using the update
> behavior in DW.
> Please help as this project is due this Tue and have
been trying every
> posibility I could think so far....I have read all the
DW help facilities
> many
> pages on this and still keep getting the "no data"
message
> Thank you,
> Carlos
> [email protected]
> -
SQL Join Three Tables DW MX2004
I'm trying to display records using three tables joined as
shown in the SQL code below. I'm getting "no data" message when I
test the result page from the search form. I'm using the advanced
Dreamweaver form to enter the SQL commands. I have never used this
feature of Dreamweaver before and I'm not sure if the code below
follows the way DW MX will understand what I'm trying to do. Below
is the code based on Standard SQL....not sure if DW compatible...
This is what I typed in the SQL box:
SELECT
ResourceSkillMapping.resourceSkillMapID,ResourceSkillMapping.skillID,
ResourceSkillMapping.competenceLevel,skill.skillname,resource.resourceName,resource.resour ceLoginId
FROM ResourceSkillMapping INNER JOIN Skill ON
ResourceSkillMapping.skillID = Skill.skillID
INNER JOIN Resource ON
ResourceSkillMapping.resourceSkillMapID =
Resource.resourceSkillMapID
WHERE (Skill.skillName = '%Skill_asp%') AND
(Resource.resourceLoginID = '%Agent_asp%')
AND (Resource.active = 1)
These is typed in the variables box:
Variable Default Runtime
Skill_asp 1 Request.QueryString("skillname")
Agent_asp 1 Request.QueryString("resourceLoginID")
I'm using asp and the "Get" url parameters in the search form
calling the result recordset in DW. I'm connecting to a SQL 2000
server. Is this notation DW correct? Am I joining the tables
correctly. The tables are ResourceSkillMapping, Skill and Resource.
All I need is to be able to search by ResourceLoginID and by
skillName on all active records (active=1). The plan is to be able
to click on a result record and go to a detail page to update the
"CompetencyLevel" field in the resourceSkillMapping table using the
update behavior in DW.
Please help as this project is due this Tue and have been
trying every posibility I could think so far....I have read all the
DW help facilities many pages on this and still keep getting the
"no data" message
Thank you,
Carlos
[email protected]I'm trying to display records using three tables joined as
shown in the SQL code below. I'm getting "no data" message when I
test the result page from the search form. I'm using the advanced
Dreamweaver form to enter the SQL commands. I have never used this
feature of Dreamweaver before and I'm not sure if the code below
follows the way DW MX will understand what I'm trying to do. Below
is the code based on Standard SQL....not sure if DW compatible...
This is what I typed in the SQL box:
SELECT
ResourceSkillMapping.resourceSkillMapID,ResourceSkillMapping.skillID,
ResourceSkillMapping.competenceLevel,skill.skillname,resource.resourceName,resource.resour ceLoginId
FROM ResourceSkillMapping INNER JOIN Skill ON
ResourceSkillMapping.skillID = Skill.skillID
INNER JOIN Resource ON
ResourceSkillMapping.resourceSkillMapID =
Resource.resourceSkillMapID
WHERE (Skill.skillName = '%Skill_asp%') AND
(Resource.resourceLoginID = '%Agent_asp%')
AND (Resource.active = 1)
These is typed in the variables box:
Variable Default Runtime
Skill_asp 1 Request.QueryString("skillname")
Agent_asp 1 Request.QueryString("resourceLoginID")
I'm using asp and the "Get" url parameters in the search form
calling the result recordset in DW. I'm connecting to a SQL 2000
server. Is this notation DW correct? Am I joining the tables
correctly. The tables are ResourceSkillMapping, Skill and Resource.
All I need is to be able to search by ResourceLoginID and by
skillName on all active records (active=1). The plan is to be able
to click on a result record and go to a detail page to update the
"CompetencyLevel" field in the resourceSkillMapping table using the
update behavior in DW.
Please help as this project is due this Tue and have been
trying every posibility I could think so far....I have read all the
DW help facilities many pages on this and still keep getting the
"no data" message
Thank you,
Carlos
[email protected] -
Generic Extraction By Using function Module with Three Table fields?
Hi,
I need to bring the data from three tables by using function module.
Tables: VBAK, VBAP, VBUK.
Fields are: VBELN, ERDAT, NETWR, WEARK, POSNR, MATNR, FKART, FKTYP.
i referred some of the documents in SDN, it explained by using two table fields.
Please help me.hi, the below pseudo code should help you on creating the logic. It's based on the how to paper. So i just used the parts of intrest. You need to copy the rest form the document. Please notice that this is pseudo code. if you just copy/paste, it will not work.
IF s_counter_datapakid = 0.
OPEN CURSOR WITH HOLD s_cursor FOR
SELECT fields FROM table1 WHERE condition
ENDIF. "First data package ?
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
FETCH NEXT CURSOR s_cursor
INTO TABLE e_t_data
PACKAGE SIZE s_s_if-maxsize.
IF sy-subrc EQ 0.
SELECT fields FROM table2 WHERE condition into itab2 for all entries in e_t_data
SELECT fields FROM table3 WHERE condition into itab3 for all entries in e_t_data
loop at e_t_data
read itab2. move corresponding fields to e_t_data
read itab3. move corresponding fields to e_t_data
collect e_t_data.
endif.
IF sy-subrc <> 0.
CLOSE CURSOR s_cursor.
RAISE no_more_data.
ENDIF.
s_counter_datapakid = s_counter_datapakid + 1.
ENDIF. "Initialization mode or data extraction ? -
"Failed to open the connection" problem related to multiple tables in the report?
Post Author: Gadow
CA Forum: Data Connectivity and SQL
System specifics:
Web environment using ASP.Net 2.0 (from Visual Studio 2005 Professional)
Crystal Reports 2008, v. 12.0.0.549, Full
We have set up the following method for displaying reports via our website:
User is sent to a report-specific page. The user is given some filtering options specific to the report that will be viewed. When the user has specified the data filters, the user clicks a button.
The page wraps up the report parameters -- selection query, formula values, report location, the name to be displayed, etc. -- into a class which gets put into the Session object.
The page redirects to DisplayReport.aspx. ALL reports redirect to this page.
DisplayReport.aspx retrieves the report parameters from Session. A ReportDocument object is created and loaded, then set with the data from the parameters class.
A ConnectionInfo object is created and set with the relevant log on credentials. All of the reports draw from the same database, so the connection information is hard-coded as the same for all reports. The page then iterates through all of the tables in the Database.Tables collection of the ReportDocument and calls ApplyLogOnInfo to each table using the ConnectionInfo object.
The page is rendered and the user gets the filtered report.
We currently have seven reports. Five reports work fine and display the correctly filtered data with no error messages. Two reports generate a Failed to open the connection error and do not display. I have verified that the queries being sent to DisplayReport.aspx are valid, and as I said the connection information itself is hard-coded in the one page that displays the reports and this is identical to all reports.
The five reports that do work all have a single data table, either an actual database table or a single view. The two reports that do not work all have multiple tables. As far as I can tell, this is the only difference between the sets; all seven reports are based on the same DSN and I have verified the database on all of the reports. All of the reports were written using Crystal Reports 8, and all of the reports display fine in a Windows app I wrote some years ago using Crystal Reports 8. Again, the only difference between those reports that do work and those that do not is the number of tables used in the report: one table or view in the reports that display, more than one table (tables only, none use views) in the reports that do not display.
As for the code I am using, below are the relevant methods. The function MakeConnectionInfo simply parses out the components of a standard SQL connection string into a ConnectionInfo object. DisplayedReport is the ID of the CrystalReportViewer on the page.Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
Dim o As Object = Session("ReportParams")
Dim ReportURL As String = ""
'Verify that there is a ReportParameters object
If o Is Nothing OrElse o.GetType IsNot GetType(ReportParameters) Then 'Redirect to the error page
Response.Redirect("/errors/MissingReport.aspx")
End If
ReportParams = CType(o, ReportParameters)
'Verify that the report exists
ReportURL = "/Reports/ReportFiles/" + ReportParams.ReportName
ReportPath = Server.MapPath(ReportURL)
If Not File.Exists(ReportPath) Then
Response.Redirect("/errors/MissingReport.aspx?Report=" + ReportParams.ReportTitle)
End If
InitializeReport()
End Sub
Protected Sub InitializeReport()
Dim RD As New ReportDocument
Dim CI As ConnectionInfo = MakeConnectionInfo(DB_Bonus)
Dim RPF As CrystalDecisions.Shared.ParameterField = Nothing
RD.Load(ReportPath)
If ReportParams.SelectString <> "" Then
Dim Adapt As New SqlDataAdapter(ReportParams.SelectString, DB_Bonus)
Dim DS As New Data.DataSet
Adapt.Fill(DS)
RD.SetDataSource(DS.Tables(0))
End If
For Each kvp As KeyValuePair(Of String, String) In ReportParams.Formulas
Dim FFD As FormulaFieldDefinition = Nothing
Try
FFD = RD.DataDefinition.FormulaFields(kvp.Key)
Catch ex As Exception
'Do nothing
End Try
If FFD IsNot Nothing Then
Select Case FFD.ValueType
Case FieldValueType.DateField, FieldValueType.DateTimeField
If IsDate(kvp.Value) Then
FFD.Text = String.Format("Date()", Convert.ToDateTime(kvp.Value).ToString("yyyy, MM, dd"))
Else
FFD.Text = "Date(1960, 01, 01)"
End If
Case FieldValueType.StringField
FFD.Text = String.Format("""""", kvp.Value)
Case Else
'For now, treat these as if they were strings. If things blow up here,
'we will need to add the appropriate formatting for the field type.
FFD.Text = String.Format("""""", kvp.Value)
End Select
End If
Next
For Each T As CrystalDecisions.CrystalReports.Engine.Table In RD.Database.Tables
Dim TLI As TableLogOnInfo = T.LogOnInfo
TLI.ConnectionInfo = CI
T.ApplyLogOnInfo(TLI)
Next
DisplayedReport.ReportSource = RD
End Sub
Does this approach not work with reports containing multiple tables, or is there something I'm missing? Any meaningful suggestions would be much appreciated.Dear Dixit,
Please refer to the Crystal report landing page to get the details
information about the support for crystal report issues.
Please use the following thread to post your questions related to
crystal report.
SAP Business One and Crystal Reports
Regards,
Rakesh Pati
SAP Business One Forum Team. -
How can i get all the records from three tables(not common records)
Hi
I have four base tables at R/3-Side. And i need to extract them from R/3-Side.
And i dont have any standard extractor for these tables .
If i create a 'View' on top of these tables. Then it will give only commom records among the three tables.
But i want all the records from three base tables (not only common).
So how can i get the all records from three tables. please let me know
kumarYou can create separate 3 datasources for three tables and extract data to BW. There you can implement business login to build relation between this data.
-
Rectifications of different sizes for all the three table lines in footer.
Hi friendz,
i am working in ecc6 system(smartforms).
i am using 3 table lines in the footer one for total, the second one for tax calculation, and the third one for the grand total.
But in the output screen display - the total, tax and grand total(in different table lines) are displayed with different heights, which gives unprofessional look for the form.
i want all the table lines in the footer to display with equal heights.Hi,
first you create LTYPE follow below sequence
Go table tab--> details tab--->give suitable heights for ltype
next go to FOOTER in the main window
create three table lines under footer like
FOOTER1
FOOTER2
FOOTER3
for three table lines we need to assign line type LTYPE
Go FOOTER1 ---> output options -
> give LTYPE.
FOOTER2 ---> output options -
> give LTYPE.
FOOTER3 ---> output options -
> give LTYPE.
reward points if helpful.
Regards,
Bhupal.
Edited by: bhupal reddy on Jul 22, 2008 11:55 AM -
Need solution for opening multiple connection to server in parallel
Hi..
I have used URL and URLConnectin classes to open connection to server,
and i used URLConnection.getInputStream( ) to download HTML pages.
Now my requirement is to open more than one connecton to single HTML document and download the file in parallel.
for example, if the HTML file size is 60KB..then i open three connection and
connection 1 downloads first 20KB
connection 2 downloads second 20KB
connection 3 downloads final 20KB
all the above should be done in parallel....by threading or else..
first of all i want to know is it possible to do the above in java?
anybody having solution for the above requirement?
venuhi,
i too have the same problem
actually i am designing a download manager ,and had the same problem
that how to put multiple threads for doing it ,,,,
have u got solution for it..
if so please help me..
my mail id is [email protected]
i want help in designing the download manager
can any one help me out plzzzzzzzzzzzzzz
bye -
I have to join three tables but i m getting error as given below:
Error i m getting-
Syntax error(missing operator) in query expression 'invoice.INVOICE_NO=inv_ent_main.INVOICE_NO INNER JOIN invrate ON invrate.INVOICE_NO=inv_ent_main.INVOICE_N'.
My Query is-
"select inv_ent_main.EXPORTER,inv_ent_main.INVOICE_NO,inv_ent_main.INVOICE_DATE,inv_ent_main.BALE_COUNT,inv_ent_main.TOTAL_AMOUNT,inv_ent_main.BALE_COUNT,inv_ent_main.TOTAL_PIECES,inv_ent_main.TOTAL_AREA,invoice.ORDER_NO,invoice.OTHER_REF,invoice.CONSIGN1,invoice.CONSIGN2,invoice.CONSIGN3,invoice.CONSIGN4,invoice.CONSIGN5,invoice.DLV_TERMS,invoice.PAYMENT_TERMS,invoice.PRE_CARRIAGE,invoice.PR_CARRIER,invoice.DESTINATION,invoice.COUNTRY_DESTINATION,invoice.VESS_FLIGHT,invoice.PORT_LOAD,invoice.PORT_DSCH,invoice.MARK1,invoice.MARK2,invoice.CURRENCY,invoice.GOODS_DESCRIPTION,invoice.CFB,invoice.GROSS_WEIGHT,invoice.NET_WEIGHT,invoice.WOOL,invoice.COTTON
from inv_ent_main INNER JOIN invoice ON invoice.INVOICE_NO = inv_ent_main.INVOICE_NO INNER JOIN invrate ON invrate.INVOICE_NO = inv_ent_main.INVOICE_NO";
MCA,LUCKNOW.The last character in the error message has missing "O" when compare to the actual query you have posted. Please rerun it an verify or you can try the below query. You need to post DDL for all the 3 tables so that we can test.
select
inv_ent_main.EXPORTER,
inv_ent_main.INVOICE_NO,
inv_ent_main.INVOICE_DATE,
inv_ent_main.BALE_COUNT,
inv_ent_main.TOTAL_AMOUNT,
inv_ent_main.BALE_COUNT,
inv_ent_main.TOTAL_PIECES,
inv_ent_main.TOTAL_AREA,
invoice.ORDER_NO,
invoice.OTHER_REF,
invoice.CONSIGN1,
invoice.CONSIGN2,
invoice.CONSIGN3,
invoice.CONSIGN4,
invoice.CONSIGN5,
invoice.DLV_TERMS,
invoice.PAYMENT_TERMS,
invoice.PRE_CARRIAGE,
invoice.PR_CARRIER,
invoice.DESTINATION,
invoice.COUNTRY_DESTINATION,
invoice.VESS_FLIGHT,
invoice.PORT_LOAD,
invoice.PORT_DSCH,
invoice.MARK1,
invoice.MARK2,
invoice.CURRENCY,
invoice.GOODS_DESCRIPTION,
invoice.CFB,
invoice.GROSS_WEIGHT,
invoice.NET_WEIGHT,
invoice.WOOL,
invoice.COTTON from inv_ent_main
INNER JOIN invoice ON invoice.INVOICE_NO = inv_ent_main.INVOICE_NO
INNER JOIN invrate ON invrate.INVOICE_NO = inv_ent_main.INVOICE_NO
Regards, RSingh -
Joining Three Tables with multiple record
Dear All
we need some help. We have Three Tables in sqlserver2012
Master Table
OrderID PackageID CustomerName
1 1 Abc
2 2 Bcd
3 1 xyz
Child1 Table
OrderID ControlName
1 Row1COlumn1 (It Means Pant in Red Color is selected by user(relation with Child2 Table))
1 Row3Column1 (It Means Gown in Blue Color is selected by user(relation with Child2 Table))
1 Row4Column3 (It Means T Shirt in White Color is selected by user(relation with Child2 Table))
2 Row1Column2 (It Means Tie in Green Color is selected by user(relation with Child2 Table))
2 Row3Column1 (It Means Bow in Red Color is selected by user(relation with Child2 Table))
Child2 Table
PackageID Product Color1 Color2 Color3
1 Pant Red Green Blue
1 Shirt Blue Pink Purple
1 Gown Blue Black Yellow
1 T Shirt Red Green White
2 Tie Red Green White
2 Socks Red Green White
2 Bow Red Green White
We want to have result like
OrderID PackageID CustomerName Pant Gown T Shirt Tie Bow
1 1 ABC Red Blue White x
x
Blue
2 2 Bcd x x x
Green Red
I have tried
;with mycte as (
select ms.OrderID,ms.PackageID
,ms.CustomerName
, Replace(stuff([ControlName], charindex('Column',ControlName),len(ControlName),''),'Row','') rowNum
,Replace(stuff([ControlName], 1, charindex('Column',ControlName)-1 ,''),'Column','') columnNum
From child1 c inner join MasterTable ms on c.Orderid=ms.orderid)
,mycte1 as (
select *, row_number() Over(Partition By PackageID Order By Child2ID) rn from child2
,mycte2 as (
Select m.OrderID,m.PackageID, m.CustomerName, m.ColumnNum, m1.Product
--,m1.Color1 , m1.Color2, m1.Color3
, Case WHEN ColumnNum= 1 Then Color1
WHEN ColumnNum= 1 Then Color1
WHEN ColumnNum= 2 Then Color2
WHEN ColumnNum= 3 Then Color3 End Colors
from mycte m
join mycte1 m1 on m.rowNum=m1.rn and m.PackageID=m1.PackageID)
Select OrderID,PackageID,CustomerName, ISNULL(Max(Case WHen Product='Pant' Then Colors END),'X') as 'Pant'
, ISNULL(Max(Case WHen Product='Gown' Then Colors END),'X') as 'Gown'
, ISNULL(Max(Case WHen Product='T Shirt' Then Colors END),'X') as 'T Shirt'
, ISNULL(Max(Case WHen Product='Tie' Then Colors END),'X') as 'Tie'
, ISNULL(Max(Case WHen Product='Bow' Then Colors END),'X') as 'Bow'
FROM mycte2
Group by OrderID,PackageID, CustomerName
it works if we have a product in one color only. like if we have pant in red and blue then its showing just first record
Thanks and Best Regards UmairAre you really storing textual values like "Row3Column1" or "Row4Column3"???
Your model is a mess. Redesign it.. btw, these kind of models are quite complex.
USE tempdb;
GO
CREATE TABLE dbo.Colors
ColorID INT NOT NULL ,
ColorName NVARCHAR(255) NOT NULL ,
CONSTRAINT PK_Colors PRIMARY KEY ( ColorID )
CREATE TABLE dbo.Products
ProductID INT NOT NULL ,
ProductName NVARCHAR(255) NOT NULL ,
CONSTRAINT PK_Products PRIMARY KEY ( ProductID ) ,
CONSTRAINT UQ_Products_ProductName UNIQUE ( ProductName )
CREATE TABLE dbo.Packages
PackageID INT NOT NULL ,
CONSTRAINT PK_Packages PRIMARY KEY ( PackageID )
CREATE TABLE dbo.PackageDetails
ColorID INT NOT NULL ,
PackageID INT NOT NULL ,
ProductID INT NOT NULL ,
CONSTRAINT PK_PackageDetails PRIMARY KEY ( ColorID, PackageID, ProductID ) ,
CONSTRAINT FK_PackageDetails_ColorID FOREIGN KEY ( ColorID ) REFERENCES dbo.Colors ( ColorID ) ,
CONSTRAINT FK_PackageDetails_PackageID FOREIGN KEY ( PackageID ) REFERENCES dbo.Packages ( PackageID ) ,
CONSTRAINT FK_PackageDetails_ProductID FOREIGN KEY ( ProductID ) REFERENCES dbo.Products ( ProductID )
CREATE TABLE dbo.Orders
OrderID INT NOT NULL ,
CustomerID INT NOT NULL ,
PackageID INT NOT NULL ,
CONSTRAINT PK_Orders PRIMARY KEY ( OrderID ) ,
CONSTRAINT UQ_Orders_CustomerID UNIQUE ( OrderID, PackageID ) ,
CONSTRAINT FK_Orders_PackageID FOREIGN KEY ( PackageID ) REFERENCES dbo.Packages ( PackageID )
CREATE TABLE dbo.OrderDetails
ColorID INT NOT NULL ,
OrderID INT NOT NULL ,
PackageID INT NOT NULL ,
ProductID INT NOT NULL ,
CONSTRAINT FK_OrderDetails_Orders FOREIGN KEY ( OrderID, PackageID ) REFERENCES dbo.Orders ( OrderID, PackageID ) ,
CONSTRAINT FK_OrderDetails_PackageDetails FOREIGN KEY ( ColorID, PackageID, ProductID ) REFERENCES dbo.PackageDetails ( ColorID, PackageID, ProductID )
GO
INSERT INTO dbo.Colors
( ColorID, ColorName )
VALUES ( 1, 'Red' ),
( 2, 'Green' ),
( 3, 'Blue' ),
( 4, 'Pink' ),
( 5, 'Purple' ),
( 6, 'Black' ),
( 7, 'Yellow' ),
( 8, 'White' );
INSERT INTO dbo.Products
( ProductID, ProductName )
VALUES ( 1, 'Pant' ) ,
( 2, 'Shirt' ) ,
( 3, 'Gown' ) ,
( 4, 'T Shirt' ) ,
( 5, 'Tie' ) ,
( 6, 'Socks' ) ,
( 7, 'Bow' );
INSERT INTO dbo.Packages
( PackageID )
VALUES ( 1 ),
( 2 );
INSERT INTO dbo.PackageDetails
( PackageID, ProductID, ColorID )
VALUES ( 1, 1, 1 ),
( 1, 2, 3 ),
( 1, 3, 3 ),
( 1, 4, 1 ),
( 2, 5, 1 ),
( 2, 6, 1 ),
( 2, 7, 1 ),
( 1, 1, 2 ),
( 1, 2, 4 ),
( 1, 3, 6 ),
( 1, 4, 2 ),
( 2, 5, 2 ),
( 2, 6, 2 ),
( 2, 7, 2 ),
( 1, 1, 3 ),
( 1, 2, 5 ),
( 1, 3, 7 ),
( 1, 4, 8 ),
( 2, 5, 8 ),
( 2, 6, 8 ),
( 2, 7, 8 );
INSERT INTO dbo.Orders
( OrderID, PackageID, CustomerID )
VALUES ( 1, 1, 1 ),
( 2, 2, 2 ),
( 3, 1, 3 );
INSERT INTO dbo.OrderDetails
( ColorID, OrderID, PackageID, ProductID )
VALUES ( 1, 1, 1, 1 ),
( 3, 1, 1, 3 ),
( 8, 1, 1, 4 ),
( 2, 2, 2, 5 ),
( 1, 2, 2, 7 );
GO
SELECT *
FROM dbo.Orders O
INNER JOIN dbo.OrderDetails OD ON OD.OrderID = O.OrderID
INNER JOIN dbo.Products P ON P.ProductID = OD.ProductID
INNER JOIN dbo.Colors C ON C.ColorID = OD.ColorID;
GO
DROP TABLE dbo.OrderDetails;
DROP TABLE dbo.Orders;
DROP TABLE dbo.PackageDetails;
DROP TABLE dbo.Packages;
DROP TABLE dbo.Products;
DROP TABLE dbo.Colors;
GO -
hi,
I am new to sql.
I am trying to write a query to retrive information from 3 tables but it is not working.
I need your help.
Problem:
when i try to retrive data from two tables using equlaity condition it is working fine.
SELECT table1.column1, table2.column2 FROM table1, table2 WHERE table1.column1 = table2.column1;
this is working fine and retriving 1200 rows
when i try to use the same condition for checking three tables its not giving correct output.
SELECT table1.column1, table2.column2 FROM table1, table2, table3 WHERE table1.column1 = table2.column1 AND table1.column1 = table3.column1;
this is also working fine and retriving 2400 rows instead of 1200 rows..
My requirement is to get o/p from somr columns of thre tables but the thing is column1 of three tables should match.
your help is greatly appreciated.I am using three tables
username col. in dba_users should be equal to username col. in test and
grantee col. in dba_role_privs should be equal to username col. in both test and dba_users
dba_users and dba_role_privs and test tables.
desc dba_users
Name Null? Type
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
desc dba_role_privs
Name Null? Type
GRANTEE VARCHAR2(30)
GRANTED_ROLE NOT NULL VARCHAR2(30)
ADMIN_OPTION VARCHAR2(3)
DEFAULT_ROLE VARCHAR2(3)
desc test
Name Null? Type
USERNAME NOT NULL VARCHAR2(30)
TYPE_ID VARCHAR2(2)
PASSWORD VARCHAR2(30) -
Single query for querying three tables
Hi All,
We are trying to construct a sql query(a single query), which can perform the below functionality.
Assume, that there are three tables,
TABLE1: 3 Columns
1) ID -> PRIMARY KEY
2) TYPE -> Allows only values 'A' or 'B'
3) REF_ID(this can refer to TABLE2(ID) or TABLE3(ID)).
TABLE2: 2 Columns
1) ID -> PRIMARY KEY
2) DETAILS -> Any normal text
TABLE3: 2 Columns
1) ID -> PRIMARY KEY
2) DETAILS -> Any normal text
We need to come up with a query that, given TABLE1's(ID), we need to fetch the corresponding record in TABLE1, and we need to fetch the corresponding record from TABLE2 or TABLE3, depending on the below conditions.
If the TYPE for the TABLE1's(ID) is 'A'
Then get the details from TABLE2's by mapping TABLE1.REF_ID = TABLE2.ID
If the TYPE for the TABLE1's(ID) is 'B'
Then get the details from TABLE3's by mapping TABLE1.REF_ID = TABLE3.ID
We need to accomplish all these tasks in a single query.
Thanks for your kindly help,
SreenivasanSQL> select * from test_qry1;
ID T REF_ID
1 A 100
2 A 200
3 B 300
SQL> select * from test_qry2;
ID DETAILS
100 Human Resources
200 It Services
300 Relationships
SQL> select * from test_qry3;
ID DETAILS
100 Human Beings
200 Conference
300 Used things
SQL> SELECT t1.ID,
DECODE(t1.type,'A',( SELECT t2.details FROM test_qry2 t2 WHERE t1.ref_id = t2.id
'B',( SELECT t3.details FROM test_qry3 t3 WHERE t1.ref_id = t3.id
) details
FROM test_qry1 t1;
ID DETAILS
1 Human Resource
2 It Services
3 Used things
Try with this query.
Thanks,
Vissu...... -
Question to create a calculation to add three table's cells for a grand total
I need help with creating a calculation to add three tables. Table, 6, 7 and 8. The total of all tables should be in the last table where it says Total.
I would appreciate any help.
ThanksIf this is the resultyou are looking for the attached will help.
Steve
Please post LiveCycle Designer ES questions in that forum in the future.
Maybe you are looking for
-
SOLVED: Can't get CM 1015 printer to scan: where is the "HP Solution Center" ?
Hi, I have a HP cm1015 printer. Recently win8.1 was installed, and I had to reinstall the printer. I downloaded drivers from the hp site, but I can't get the printer to scan. It prints, and copies ok, but scanning doesn't work. What is unclear: If I
-
Iphoto hangs on launch leaving a blank window and ultimately crashes
Hi guys, slight problem with my iphoto. A little while ago, since updating to 8.1.1 I think, iphoto launches but doesn't display any menus down the left side, or any photos, albums etc. Just a blank white window. It doesn't hang completely and allows
-
Problems importing videos recorded from my iPhone 3GS to iPhoto
I am having problems importing any videos recorded from my iPhone 3GS onto iPhoto. iPhoto keep giving me the following error: "Error downloading Image. iPhoto cannot import your photos because there was a problem downloading an image." If anyone else
-
IPhone in Austria (Europe)
Does anyone of your know when the iPhone is comming to Austria? On the German Homepage of Apple der are news for the 9. Nov. 2007 but on the austrian site there isn't anything about the iPhone. Does anyone of you know if it comes on T - Mobile or A1
-
Sorting images on iPhone 4 - Why to optimize
Disclaimer: Tried to find a solution using forum search - no luck. Scenario - too 500 pictures with my iPhone in the last couple weeks. Want to sort them into few albums. Downloaded on my PC, sorted into few sub-directories, started sync in iTunes. i