Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.databases.oracle    |    Overblown overpriced overengineered SHIT    |    2,288 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 1,107 of 2,288    |
|    Hans Forbrich to Vince    |
|    Re: Problem with some SQL queries    |
|    18 Feb 04 16:35:14    |
      From: hforbric@yahoo.net              Vince wrote:       >       > 1)In my people table, persons have a title (Mr, Miss, or whatever).       >       > " select distinct person, title from people where title is null or       > title is not null "       >       > give:       >       > PERSON TITLE       > 0000029 Miss       > 0000465 Mr       > 0000469 <-- null       > 0000624 <-- null       > 0000900 Miss       >       > But when I calculate the number of titles (a lot of possibles types),       > the title = null is not took into account. For that, I use " select       > count(distinct title) from people where title is null or title is not       > null ". How to make it successful?              Nulls have no defined value - not even 'nothing'. Therefore they can       not be counted. To work around this, assign a value to replace the null       using a function like NVL (although you really want to look it up to       make sure you are using the right function) OR count a non-null column       or pseudo-column such as rowid.              >       > 2)Parameter between ' characters       >       > My query is:       >       > select distinct people.surname, people.forenames, sessions.stage,       > sessions.course,       > (select distinct title from shared.courses       > where sessions.course=shared.courses.course) as titleofcourse       > from people, sessions       > where people.person=sessions.student and sessions.status='C'       >       > I get:       >       > SURNAME FORENAMES STAGE COURSE TITLEOFCOURSE       > Aggett Stephen Peter James 2 V700 Philosophy <--       > 'Philosophy'       >       > How to put the title of course (getting with a select) between '       > characters?       > I try without succes to use case or decode(). Have you got an idea?       >              Lean about the CONCAT operator.              > 3)A query on a same table       >       > My people table is as following:       >       > PERSON SURNAME FORENAMES TITLE KNOWNAS USERNAME EMAIL       >       > I would like to check if there is any duplicates, ie two people with       > the same surname and the same forenames.       >       > I don't want to use a view containing the people table. I think it is       > better to make it in a single query. Any idea please?       >       > Something like " select * from people as p, people as pp where       > p.surname=pp.surname " but which works?       >       > Maybe it is something as:       > "select p.surname, p.forenames       > from people p, (select pp.surname, pp.forenames from people pp)       > where p.surname = pp.surname and p.forenames = pp.forenames "              Think about using a grouping-count and eliminate the non-duplicate rows       using a 'having' clause.              HTH       /Hans              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca