SunQuest
           Oracle Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsDatabasesOracle 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:
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now!
  #1  
Old January 16th, 2005, 01:06 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
Unhappy Problem with equi join and repeating data.

Im having troubles with a CD rental database

I have 5 tables in my sql:
Members1 (containing members details and a member ID),

Rentalhead1 ( containing RentalNumber and MemberID along with DateOfRental and StaffName)

RentalLine (containing RentalNumber, StockID and ReturnDate)

Stock1 (containing StockID, CatalogueNumber, Purchase Cost and PurchaseDate)

And finally CD1 which contains CatalogueNumber,Title(of CD) and Daily cost.

All tables are linked correctly*


I have produced the following code to display: Surname, FirstName, CD, RentalDate, ReturnDate

SELECT Distinct surname, firstname, TITLE, DATEOFRENTAL, returndate
FROM RENTALLINE1, MEMBER1, CD1, RENTALHEAD1, STOCK1
WHERE MEMBER1.MEMBERID = RENTALHEAD1.MEMBERID
AND RENTALHEAD1.RENTALNUMBER = RENTALLINE1.RENTALNUMBER
AND RENTALLINE1.STOCKID = STOCK1.STOCKID
AND STOCK1.CATALOGUENUMBER = CD1.CATALOGUENUMBER
ORDER BY SURNAME


The result of this code is members having cds lent out to them which they havent rented and incorrect rental and return dates... Im slightly baffled. please help.

I think the problem may be the links i have constructed but im not too sure!

Reply With Quote
  #2  
Old January 16th, 2005, 01:58 PM
MrFujin's Avatar
MrFujin MrFujin is offline
Lord of the Dance
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Oct 2003
Posts: 1,210 MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level)MrFujin User rank is Major (30000 - 40000 Reputation Level) 
Time spent in forums: 1 Month 5 Days 5 h 18 m 23 sec
Reputation Power: 316
the fields you selected is that from one table.
When selecting fields from more than one table you have to use the table name as <tablename>.<fieldname>
ex. Members1.surname

think you should have a look at the JOIN command
http://www.w3schools.com/sql/sql_join.asp

Reply With Quote
  #3  
Old January 16th, 2005, 02:04 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
your joins do look okay to me

maybe it's bad data
__________________
r937.com | rudy.ca

Reply With Quote
  #4  
Old January 16th, 2005, 02:20 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
well surname, firstname are from the MEMBER1 Table, TITLE is from the CD TABLE, DATEOFRENTAL is from RENTALHEAD1 and RETURNDATE is from RENTALLINE1.



The following is sample data for one member, the highlighted record is correct: *note its all test data*

BATHE PETER Dire Straights Greatest Hits 21-APR-99 26-APR-99

BATHE PETER Solo Piano Greats 28-MAY-99 02-JUN-99

BATHE PETER Worlds Greatest Opera Arias 15-APR-99 20-APR-99

Reply With Quote
  #5  
Old January 16th, 2005, 03:27 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
and you're saying that BATHE PETER didn't rent those other two unbolded ones?

Reply With Quote
  #6  
Old January 16th, 2005, 03:46 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
yeah, there should only be one record the highlighted one i have printed out all the tables and confirmed this..

Reply With Quote
  #7  
Old January 16th, 2005, 04:03 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
so why did those other rows get returned?

it can only be because of the values in the ID columns that relate the rows across the various tables

Reply With Quote
  #8  
Old January 16th, 2005, 04:07 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
this may help you track down the problem --
Code:
SELECT m.surname
     , m.firstname
     , c.TITLE
     , h.DATEOFRENTAL
     , l.returndate
     
     , m.MEMBERID 
     , h.MEMBERID
     , h.RENTALNUMBER 
     , l.RENTALNUMBER
     , l.STOCKID 
     , s.STOCKID
     , s.CATALOGUENUMBER 
     , c.CATALOGUENUMBER
     
  FROM RENTALLINE1 as l
     , MEMBER1     as m
     , CD1         as c
     , RENTALHEAD1 as h
     , STOCK1      as s
 WHERE m.MEMBERID        = h.MEMBERID
   AND h.RENTALNUMBER    = l.RENTALNUMBER
   AND l.STOCKID         = s.STOCKID
   AND s.CATALOGUENUMBER = c.CATALOGUENUMBER
ORDER 
    BY m.surname
     , m.firstname

Reply With Quote
  #9  
Old January 16th, 2005, 04:18 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
FROM RENTALLINE1 as l
*

ERROR at line 16:
ORA-00933: SQL command not properly ended


It didnt like that, is this code simpler to read and perform the same operation as my attempt?

Reply With Quote
  #10  
Old January 16th, 2005, 04:25 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
you posted an oracle question in the mysql forum????

(not that it should make any difference, because the sql is standard)

Reply With Quote
  #11  
Old January 16th, 2005, 04:28 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
should i take my problem else where?

Reply With Quote
  #12  
Old January 16th, 2005, 04:34 PM
r937's Avatar
r937 r937 is offline
SQL Consultant
Dev Shed God 25th Plane (17000 - 17499 posts)
 
Join Date: Feb 2003
Location: Toronto Canada
Posts: 17,340 r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level)r937 User rank is Lieutenant General (80000 - 90000 Reputation Level) 
Time spent in forums: 1 Month 3 Weeks 5 Days 7 h 52 m 42 sec
Reputation Power: 891
i'm also a forum moderator, i will move it for you

try removing the AS keywords

Reply With Quote
  #13  
Old January 16th, 2005, 04:38 PM
capsule22 capsule22 is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2005
Posts: 14 capsule22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 42 m 41 sec
Reputation Power: 0
Ok thanks for the help, sorry for the mess up

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesOracle Development > Problem with equi join and repeating data.


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