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

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

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 May 31st, 2012, 02:03 PM
One Stupid Guy One Stupid Guy is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 53 One Stupid Guy User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 6 h 33 m 3 sec
Reputation Power: 10
Finding records that vary only by one field

Hi,
I want to isolate records in a large dataset where there is a difference on only one field.

For example, if my headers are:
aspect1 aspect2 aspect3 aspect4

I want to find all records where aspect1, aspect2 and aspect3 are the same, but aspect4 is different.

Is there a way to do that?

Thank you for any insight,

Reply With Quote
  #2  
Old May 31st, 2012, 03:22 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 43rd Plane (26000 - 26499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 26,442 r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level) 
Time spent in forums: 3 Months 1 Week 2 Days 14 h 15 m 59 sec
Reputation Power: 4141
Quote:
Originally Posted by One Stupid Guy
I want to find all records where aspect1, aspect2 and aspect3 are the same, but aspect4 is different.
Code:
SELECT t.aspect1
     , t.aspect2
     , t.aspect3
     , t.aspect4
  FROM ( SELECT aspect1
              , aspect2
              , aspect3
           FROM daTable
         GROUP
             BY aspect1
              , aspect2
              , aspect3
         HAVING COUNT(*) > 1 ) AS d
INNER
  JOIN daTable AS t
    ON t.aspect1 = d.aspect1
   AND t.aspect2 = d.aspect2
   AND t.aspect3 = d.aspect3
__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book

Reply With Quote
  #3  
Old May 31st, 2012, 04:32 PM
One Stupid Guy One Stupid Guy is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Nov 2003
Posts: 53 One Stupid Guy User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 6 h 33 m 3 sec
Reputation Power: 10
Thank you r937,
You're considerably better than Mayor Ford.

I didn't get what I wanted though.

I was able to determine that I really wanted instances where aspect1 and aspect2 were the same while aspect4 differed (ie, we can ignore aspect3 from my original post).

Below is the code I used exactly. But it returned all records, so I missed something.

GO
SELECT t.[aspect1]
,t.[aspect2]
,t.[aspect4]

FROM (SELECT [aspect1]
,[aspect2]

FROM [daTable]

GROUP BY [aspect1]
,[aspect2]

HAVING COUNT(*) > 1) AS d

INNER JOIN [daTable] AS t

ON t.[aspect1] = d.[aspect1]
AND t.[aspect2] = d.aspect2]

ORDER BY [aspect1]
,[aspect2]
,[aspect4]

Reply With Quote
  #4  
Old May 31st, 2012, 05:54 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 43rd Plane (26000 - 26499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 26,442 r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level)r937 User rank is General 47th Grade (Above 100000 Reputation Level) 
Time spent in forums: 3 Months 1 Week 2 Days 14 h 15 m 59 sec
Reputation Power: 4141
the only reason that query would return all rows in the table is because every single combination of aspect1 and aspect2 is repeated at least once

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesMS SQL Development > Finding records that vary only by one field

Developer Shed Advertisers and Affiliates



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 | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap