HardCORE QUERY HELP!!!

Lists: pgsql-sql
From: Metnetsky <matt(at)uberstats(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: HardCORE QUERY HELP!!!
Date: 2003-03-02 04:20:29
Message-ID: hOednbvBOI8QG_yjXTWcqQ@giganews.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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);


From: Rajesh Kumar Mallah <mallah(at)trade-india(dot)com>
To: Metnetsky <matt(at)uberstats(dot)com>, pgsql-sql(at)postgresql(dot)org
Cc: techies(at)trade-india(dot)com
Subject: Re: HardCORE QUERY HELP!!!
Date: 2003-03-03 06:25:58
Message-ID: 200303031155.58203.mallah@trade-india.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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.


From: Tomasz Myrta <jasiek(at)klaster(dot)net>
To: Metnetsky <matt(at)uberstats(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: HardCORE QUERY HELP!!!
Date: 2003-03-03 12:41:23
Message-ID: 3E634D73.6010702@klaster.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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


From: Erwin Moller <erwin(at)_removespam_dexus(dot)nl>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: HardCORE QUERY HELP!!!
Date: 2003-03-03 18:24:15
Message-ID: 3E639DCF.9000705@_removespam_dexus.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Metnetsky <matt(at)uberstats(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: HardCORE QUERY HELP!!!
Date: 2003-03-03 20:46:17
Message-ID: 8765r0ji06.fsf@stark.dyndns.tv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql


Metnetsky <matt(at)uberstats(dot)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


From: Matthew Metnetsky <matt(at)uberstats(dot)com>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: HardCORE QUERY HELP!!!
Date: 2003-03-03 20:57:06
Message-ID: 1046725049.1121.2.camel@asgard
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

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(at)uberstats(dot)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
>