MS SQL Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsDatabasesMS SQL Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old January 1st, 2005, 05:55 PM
xsoftdev xsoftdev is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 64 xsoftdev User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 h 51 m 7 sec
Reputation Power: 6
Question Help with query

Hello,

I have 2 tables with one to many relationship. Image of tables and query . One table holds the messages sent to users, I want to show the LoginName in the User table instead of the UserID in my query, can anyone help me write the SQL.

Code:
SELECT tblMessage.UserID, tblMessage.RecipientID, tblMessage.Subject, tblMessage.Message, tblMessage.DateSent, tblUser.LoginName
FROM tblMessage INNER JOIN tblUser ON tblMessage.UserID = tblUser.UserID;
Thanks in advance
Attached Images
File Type: gif Untitled-1.gif (21.5 KB, 123 views)

Reply With Quote
  #2  
Old January 1st, 2005, 06:19 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Click here for more information.
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,919 r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level) 
Time spent in forums: 1 Month 4 Weeks 12 h 51 m 39 sec
Reputation Power: 1018
your query looks okay to me

alternatively, if you want all users, whether or not they have any messages, you may want a LEFT OUTER JOIN
Code:
select tblUser.LoginName
     , tblMessage.RecipientID
     , tblMessage.Subject
     , tblMessage.Message
     , tblMessage.DateSent
  from tblUser 
left outer
  join tblMessage
    on tblUser.UserID
     = tblMessage.UserID 
__________________
r937.com | rudy.ca

Reply With Quote
  #3  
Old January 1st, 2005, 07:49 PM
xsoftdev xsoftdev is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 64 xsoftdev User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 h 51 m 7 sec
Reputation Power: 6
Thanks for the response rudy.

I tried the left outer join as you suggested but on the recipientID I still see the UserID, is there a way of showing the much readable LoginName.

Thanks

Reply With Quote
  #4  
Old January 1st, 2005, 08:08 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Click here for more information.
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,919 r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level)r937 User rank is General (90000 - 100000 Reputation Level) 
Time spent in forums: 1 Month 4 Weeks 12 h 51 m 39 sec
Reputation Power: 1018
ah, you want the recipient's name, you didn't say that the first time
Code:
select U1.LoginName   as Sender
     , U2.LoginName   as Recipient
     , tblMessage.Subject
     , tblMessage.Message
     , tblMessage.DateSent
  from tblUser as U1
left outer
  join tblMessage
    on U1.UserID
     = tblMessage.UserID 
left outer
  join tblUser as U2    
    on tblMessage.RecipientID
     = U2.UserID

Reply With Quote
  #5  
Old January 4th, 2005, 12:12 AM
xsoftdev xsoftdev is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2003
Location: Los Angeles, CA
Posts: 64 xsoftdev User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 h 51 m 7 sec
Reputation Power: 6
Thanks Rudy, You have given me some ideas and a query to play with. I am still learning and appreciate very much your help.

Mike

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesMS SQL Development > Help with query


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 1 hosted by Hostway
Stay green...Green IT