Solved

How to display values from joined tables

Posted on 2008-10-27
13
176 Views
Last Modified: 2012-05-05
I would like to display information from the tbl_Pass table based on a value from the tbl_Ship table.  This will occur multiple times in my ASP page.

I have a view_ship.asp request that displays the original person that submitted the ship request as well as the last person to modify the request.  I can display the tbl_Ship.ID_P and the tbl_Ship.ID_P_Mod however I want to display the actual name instead of the ID.  My initial thought is have the SQL statements separate for each occurrence however I am not sure how to do this in ASP classic.

Table Structure for tbl_Pass:
ID_P
fld_Full_Name

Table Structure for tbl_Ship:
ID_S
ID_P
ID_P_Mod
fld_Address
0
Comment
Question by:ritschel
  • 7
  • 4
  • 2
13 Comments
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 250 total points
ID: 22817399
what about this:
select s.*
   , p.fld_Full_name
   , pmod.fld_Full_name mod_Full_name
  from tbl_Ship s
  join tbl_pass p
    on p.ID_P = s.ID_P
  join tbl_pass pmod
    on pmod.ID_P = s.ID_P_MOD

Open in new window

0
 

Author Comment

by:ritschel
ID: 22817523
Am I wrong in thinking I can do this like the select boxes where I lookup the value; individually?
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22817575
>Am I wrong in thinking I can do this like the select boxes where I lookup the value; individually?
the 2 values ID_P and ID_P_mod are the key to the same table, right?
so, you can have 2 select boxes with the same list of people, and store the relevant ID_P into the 2 fields...
I don't really understand your question about your "thinking", I must assume you are thinking loud?
0
 

Author Comment

by:ritschel
ID: 22817810
>the 2 values ID_P and ID_P_mod are the key to the same table, right?
>so, you can have 2 select boxes with the same list of people, and store the relevant ID_P into the 2 fields...
>I don't really understand your question about your "thinking", I must assume you are thinking loud?

Yes the 2 values ID_P and ID_P_Mod are the key to the same table.
I am trying display tbl_Pass.fld_Full_name with relation to tbl_Ship.ID_P with a response.write
Then in a separate SQL statement display tbl_Pass.fld_Full_name with relation to tbl_Ship.ID_P_Mod with a response.write

I mentioned the select box because we use a separate SQL statement for each select box.  I would like to use a separate SQL statement for each response.write display if possible.  Just do not know how to write the code.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22817864
did you try out my above query?
0
 

Author Comment

by:ritschel
ID: 22818197
Tried the above query and it crashes the page with a Syntax error in FROM clause:
strsql = "Select s.*, p.fld_Full_Name, pmod.fld_Full_Name from tbl_Ship s join tbl_Pass p on p.ID_P = s.ID_P join tbl_Pass pmod on pmod.ID_P = s.id_P_Mod WHERE [ID_S]=" & tkey
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

Author Comment

by:ritschel
ID: 22818490
I am trying to do something like this however I receive a data mismatch error when I do:
<% 

Dim p_rs, x_fld_Full_Name

set adoCon = Server.CreateObject("ADODB.Connection")

adoCon.open(strCon)

sql = "SELECT DISTINCT ID_P, fld_Full_Name from tbl_Pass where ID_P = '" & Server.HTMLEncode("x_ID_P") & "'"

Set rs = adoCon.execute(sql)

p_rs = rs.GetRows()

rs.close

set rs = nothing

adoCon.close

set adoCon = nothing

%>                    

  

<input type="hidden" name="x_ID_P" size="30" maxlength="50" value="<%= Server.HTMLEncode(x_ID_P&"") %>">
 

<%'Build Array 

for i = 0 to UBound(p_rs,2) 

x_fld_Full_Name = p_rs(0, i)

%>

<%Next%>

<%=x_fld_Full_Name%>

Open in new window

0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22819673
what data type is the field ID_P ?
0
 
LVL 5

Expert Comment

by:jfmador
ID: 22821364
Hi, under access you need to add () on each join, it is weird but it is probably why the query crash on your from clause.

strsql = Select s.*, p.fld_Full_Name, pmod.fld_Full_Name from (tbl_Ship s join tbl_Pass p on p.ID_P = s.ID_P) join tbl_Pass pmod on pmod.ID_P = s.id_P_Mod WHERE [ID_S]=" & tkey
0
 
LVL 5

Assisted Solution

by:jfmador
jfmador earned 250 total points
ID: 22821369
Sorry I forgot a " while doing a copy past

strsql = "Select s.*, p.fld_Full_Name, pmod.fld_Full_Name from (tbl_Ship s join tbl_Pass p on p.ID_P = s.ID_P) join tbl_Pass pmod on pmod.ID_P = s.id_P_Mod WHERE [ID_S]=" & tkey
0
 

Author Comment

by:ritschel
ID: 22828414
The last sql select statements gives me a: Syntax error in JOIN operation.  

What I would really like to do is call the value to be displayed similar to the code I posted.  The problem with my code is it gives me two values; the top value and the value I am looking for.  I would prefer to call the values individually as needed.
0
 

Author Comment

by:ritschel
ID: 22828616
Found the answer by using Left Outer Join.  Thanks for all the ideas and help.
strsql = "Select * From (tbl_Ship s Left Outer Join tbl_Pass p ON s.ID_P = p.ID_P) Left Outer Join tbl_Pass pmod on s.ID_P_Mod = pmod.ID_P WHERE [ID_S]=" & tkey

Open in new window

0
 

Author Closing Comment

by:ritschel
ID: 31510550
Thanks for your help.  My lack of knowledge prevented me from seeing what you where trying to show me.  Always learn something from you experts.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I'm trying, I really am. But I've seen so many wrong approaches involving date(time) boundaries I despair about my inability to explain it. I've seen quite a few recently that define a non-leap year as 364 days, or 366 days and the list goes on. …
Confronted with some SQL you don't know can be a daunting task. It can be even more daunting if that SQL carries some of the old secret codes used in the Ye Olde query syntax, such as: (+)     as used in Oracle;     *=     =*    as used in Sybase …
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now