Confused?

Please support our MS SQL advertiser: Intel Parallel Studio Home
Thread Solved

Join Date: Apr 2007
Posts: 437
Reputation: Fungus1487 is on a distinguished road 
Solved Threads: 50
Fungus1487's Avatar
Fungus1487 Fungus1487 is offline Offline
Posting Pro in Training

Confused?

 
0
  #1
Mar 20th, 2008
Hello all,

hope i can get some help on this one as im not brilliant with my database scripts.

I have table "A" and table "B", table "A" contains information on a portfolio and table "B" is a joining table which connects this table to a user of the system with a 1-to-many relationship.


I am looking to return all records in table "A" that are not connected to a user in table "B"

i have tried this

  1. SELECT a.* FROM a LEFT JOIN b ON a.id = b.id WHERE b.userid <> 1

but i know this is incorrect but cannot figure out myself how to achieve what i want.

Hopefully someone can point me in the right direction.
When Autumn Falls [ http://www.whenautumnfalls.co.uk ] &&
Designdotworks [ http://www.designdotworks.co.uk ] Web / Graphic / Software Design
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 2,641
Reputation: Jx_Man is a glorious beacon of light Jx_Man is a glorious beacon of light Jx_Man is a glorious beacon of light Jx_Man is a glorious beacon of light Jx_Man is a glorious beacon of light Jx_Man is a glorious beacon of light 
Solved Threads: 245
Jx_Man's Avatar
Jx_Man Jx_Man is offline Offline
Posting Maven

Re: Confused?

 
0
  #2
Mar 21st, 2008
  1. SELECT * FROM Table1 a LEFT JOIN Table2 b ON (a.id = b.id) WHERE a.id <> '1'
Last edited by Jx_Man; Mar 21st, 2008 at 4:05 am.
Never tried = Never Know
So, Please do something before post your thread.
* PM Asking will be ignored *
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 437
Reputation: Fungus1487 is on a distinguished road 
Solved Threads: 50
Fungus1487's Avatar
Fungus1487 Fungus1487 is offline Offline
Posting Pro in Training

Re: Confused?

 
0
  #3
Mar 21st, 2008
Originally Posted by Jx_Man View Post
  1. SELECT * FROM Table1 a LEFT JOIN Table2 b ON (a.id = b.id) WHERE a.id <> '1'
sorry this does not work.
It simply filters table A's records removing the one with an id of '1'.



its probably easier with a working example.

I have the following tables...

### 'portfolio' - table
'portfolioid' - int [primary key]
'usertitle' - string
'clienttitle' - string

### Records
1, "test title", "test title"
2, "test title 1", "test title a"
3, "test title 2", "test title b"
4, "test title 3", "test title c"

### 'portfolioclient' - table
'portfolioid' - int
'clientid' - int

### Records
1, 1
3, 1
2, 2
4, 2

i wish to return all portfolio records which are not attached to a 'clientid'. E.G. if a client has an ID of '1' then the portfolio records returned should be 2 and 4.

i thought this would work but obviosuly not.
  1. SELECT portfolio.* FROM portfolio LEFT JOIN portfolioclient ON portfolio.portfolioid = portfolioclient.portfolioid WHERE portfolioclient.clientid <> 1
When Autumn Falls [ http://www.whenautumnfalls.co.uk ] &&
Designdotworks [ http://www.designdotworks.co.uk ] Web / Graphic / Software Design
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 437
Reputation: Fungus1487 is on a distinguished road 
Solved Threads: 50
Fungus1487's Avatar
Fungus1487 Fungus1487 is offline Offline
Posting Pro in Training

Re: Confused?

 
0
  #4
Mar 21st, 2008
Ok managed to solve this one myself after a bit of staring at my screen for a long time. For anyone interested this worked for me...

  1. SELECT portfolio.portfolioid FROM portfolio WHERE (NOT EXISTS (SELECT portfolioclient.* FROM portfolioclient WHERE (portfolio.portfolioid = portfolioclient.portfolioid) AND (portfolioclient.clientid = 1)))
When Autumn Falls [ http://www.whenautumnfalls.co.uk ] &&
Designdotworks [ http://www.designdotworks.co.uk ] Web / Graphic / Software Design
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC