General SQL Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
User Name:
Password:
Remember me
 
Go Back   Dev Articles Community ForumsDatabasesGeneral SQL Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Display Modes
 
Unread Dev Articles Community Forums Sponsor:
  #1  
Old February 3rd, 2007, 07:13 AM
bemo_cannon bemo_cannon is offline
Registered User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Feb 2007
Posts: 1 bemo_cannon User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 m 42 sec
Reputation Power: 0
SQL query

Hi everyone and thanks in advance.

I have two tables, one for members and one for accounts. Every member can have multiple accounts. Accounts have a lifespan, which is specified by start and end dates, and can be terminated early with a closed tinyint variable.

I want to query all the members who have no active accounts. This could me they have one active account, or no accounts at all.

I join the two tables using this:
FROM (account LEFT JOIN member ON account.Memberid = member.MemberID)
LEFT JOIN address ON account.Memberid = address.MemberID

Thanks.

Reply With Quote
  #2  
Old February 6th, 2007, 03:34 AM
eralpery eralpery is offline
Registered User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Apr 2006
Posts: 16 eralpery User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 3 h 19 m 57 sec
Reputation Power: 0
Hi,

I hope one of the following queries may help you

Code:
-- Members With No Accounts
SELECT
	Members.MemberId
FROM Members
LEFT JOIN Accounts ON Accounts.MemberId = Members.MemberId
WHERE
	Accounts.MemberId IS NULL

-- Members With Only Passive Accounts
SELECT
	Members.MemberId, Accounts.Active
FROM Members
INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
WHERE
	Accounts.Active = 0
	AND Members.MemberId NOT IN (
		SELECT
			Members.MemberId, Accounts.Active
		FROM Members
		INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
		WHERE
			Accounts.Active = 1
	)

-- Members With Active & Passive Accounts
SELECT
	Members.MemberId, Accounts.Active
FROM Members
INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
WHERE
	Accounts.Active = 0
	AND Members.MemberId IN (
		SELECT
			Members.MemberId, Accounts.Active
		FROM Members
		INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
		WHERE
			Accounts.Active = 1
	)

-- Members With Only Active Accounts
SELECT
	Members.MemberId, Accounts.Active
FROM Members
INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
WHERE
	Accounts.Active = 1
	AND Members.MemberId NOT IN (
		SELECT
			Members.MemberId, Accounts.Active
		FROM Members
		INNER JOIN Accounts ON Accounts.MemberId = Members.MemberId
		WHERE
			Accounts.Active = 0
	)
Comments on this post
MadCowDzz agrees: Good work!

Last edited by MadCowDzz : February 6th, 2007 at 08:07 AM. Reason: added [code] tags to preserve formatting

Reply With Quote
Reply

Viewing: Dev Articles Community ForumsDatabasesGeneral SQL Development > SQL 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