Solved

How to display values from joined tables

Posted on 2008-10-27
13
175 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
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

As they say in love and is true in SQL: you can sum some Data some of the time, but you can't always aggregate all Data all the time! Introduction: By the end of this Article it is my intention to bring the meaning and value of the above quote to…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This video discusses moving either the default database or any database to a new volume.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

758 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

18 Experts available now in Live!

Get 1:1 Help Now