Thread: HardCORE QUERY HELP!!!

HardCORE QUERY HELP!!!

From
Metnetsky
Date:
Q: list employee name, job, manager name and salary for those whose salary 
is more than their manager

The quetion may seem kinda dumb, it's for a class and my professor has a 
thing for brain teaser type questions. I attempted doing this with rename 
and a natural join but I can't get the rename to work I think. Any help 
would be much appreciated.
Thanx


Table Definition: create table emp  (empno numeric(4) not null,  ename varchar(10) not null,  job varchar(10) not null,
mgr numeric(4),  hiredate date,  sal numeric(6) not null,  comm numeric(4),  deptno numeric(4) not null,  primary
key(empno));

Example Data: values(7369,'Martinez','Clerk',7902,'1990-12-17',2800,null,20);
values(7499,'Jeter','Sales',7698,'1991-02-20',3600,1300,30);
values(7521,'Knoblauch','Sales',7698,'1998-02-22',3250,1500,30);
values(7566,'Torre','Manager',7839,'1991-04-02',4975,null,20);
values(7654,'Strawberry','Sales',7698,'1994-09-28',2250,2400,30);values(7698,'Dimago','Manager',7839,'1995-05-01',
4850,null,30); values(7782,'Williams','Manager',7839,'1997-06-09',4450,null,10);
 



Re: HardCORE QUERY HELP!!!

From
Rajesh Kumar Mallah
Date:

I think your data is insufficient,
there is no such employee in provided sample data.
the query used is included.


test=# SELECT * from emp;
+-------+------------+---------+------+------------+------+------+--------+
| empno |   ename    |   job   | mgr  |  hiredate  | sal  | comm | deptno |
+-------+------------+---------+------+------------+------+------+--------+
|  7369 | Martinez   | Clerk   | 7902 | 1990-12-17 | 2800 |      |     20 |
|  7499 | Jeter      | Sales   | 7698 | 1991-02-20 | 3600 | 1300 |     30 |
|  7521 | Knoblauch  | Sales   | 7698 | 1998-02-22 | 3250 | 1500 |     30 |
|  7566 | Torre      | Manager | 7839 | 1991-04-02 | 4975 |      |     20 |
|  7654 | Strawberry | Sales   | 7698 | 1994-09-28 | 2250 | 2400 |     30 |
|  7698 | Dimago     | Manager | 7839 | 1995-05-01 | 4850 |      |     30 |
|  7782 | Williams   | Manager | 7839 | 1997-06-09 | 4450 |      |     10 |
+-------+------------+---------+------+------------+------+------+--------+
(7 rows)

Time: 1.21 ms
test=# SELECT a.* from emp a  where sal > ( select sal from emp where empno=a.mgr);
+-------+-------+-----+-----+----------+-----+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-----+-----+----------+-----+------+--------+
+-------+-------+-----+-----+----------+-----+------+--------+
(0 rows)

Time: 1.39 ms
test=#

On Sunday 02 March 2003 09:50 am, Metnetsky wrote:
> Q: list employee name, job, manager name and salary for those whose salary
> is more than their manager
>
> The quetion may seem kinda dumb, it's for a class and my professor has a
> thing for brain teaser type questions. I attempted doing this with rename
> and a natural join but I can't get the rename to work I think. Any help
> would be much appreciated.
> Thanx
>
>
> Table Definition:
>   create table emp
>    (empno numeric(4) not null,
>    ename varchar(10) not null,
>    job varchar(10) not null,
>    mgr numeric(4),
>    hiredate date,
>    sal numeric(6) not null,
>    comm numeric(4),
>    deptno numeric(4) not null,
>    primary key(empno));
>
> Example Data:
>   values(7369,'Martinez','Clerk',7902,'1990-12-17',2800,null,20);
>   values(7499,'Jeter','Sales',7698,'1991-02-20',3600,1300,30);
>   values(7521,'Knoblauch','Sales',7698,'1998-02-22',3250,1500,30);
>   values(7566,'Torre','Manager',7839,'1991-04-02',4975,null,20);
>   values(7654,'Strawberry','Sales',7698,'1994-09-28',2250,2400,30);
>   values(7698,'Dimago','Manager',7839,'1995-05-01', 4850, null,30);
>   values(7782,'Williams','Manager',7839,'1997-06-09',4450,null,10);
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

-- 

Regds
Mallah

----------------------------------------
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.


Re: HardCORE QUERY HELP!!!

From
Tomasz Myrta
Date:
Metnetsky wrote:
> Q: list employee name, job, manager name and salary for those whose salary 
> is more than their manager
> 
> The quetion may seem kinda dumb, it's for a class and my professor has a 
> thing for brain teaser type questions. I attempted doing this with rename 
> and a natural join but I can't get the rename to work I think. Any help 
> would be much appreciated.
> Thanx
One more version of query you need:

select e.ename, e.job, m.ename as managername, e.salary
from  emp as e  join emp as m on (e.mgr=m.empno and e.salary>m.salary);

As Rajesh said - for your example data there is no result for such query.

Regards,
Tomasz Myrta




Re: HardCORE QUERY HELP!!!

From
Greg Stark
Date:
Metnetsky <matt@uberstats.com> writes:

> It's for a class and my professor has a thing for brain teaser type
> questions.

Incidentally, TAs and Profs aren't stupid, and have been known to check on
newsgroups and mailing lists for students asking for people to do their
homework for them.

--
greg



Re: HardCORE QUERY HELP!!!

From
Matthew Metnetsky
Date:
Then they'll be happy not to have to do any work, considering I put
notices on my assignments stating that I received help and from where.

~ Metnetsky

On Mon, 2003-03-03 at 15:46, Greg Stark wrote:
>
> Metnetsky <matt@uberstats.com> writes:
>
> > It's for a class and my professor has a thing for brain teaser type
> > questions.
>
> Incidentally, TAs and Profs aren't stupid, and have been known to check on
> newsgroups and mailing lists for students asking for people to do their
> homework for them.
>
> --
> greg
>


Re: HardCORE QUERY HELP!!!

From
Erwin Moller
Date:
This is your prof speaking:
"DO YOUR OWN HOMEWORK YOU CHEATER!"

Seriously,

I'll give you a hint:
Try using
SELECT * FROM emp WHERE
(  sal >   (SELECT sal FROM emp AS EMP2      WHERE (EMP2.mgr=emp.mgr)) )

or something like that.
Use a ALIAS for the same table to distinguish them.

Hmm I am doing your homework.
Did I deserve a beer now?
;-)

Regards,
Erwin