Need some help with query

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alvinguy
    New Member
    • Jun 2007
    • 1

    #1

    Need some help with query

    Hi Guys,

    I'm working on a SQL problem and am a bit stuck. I'll have to apologize for I'm still very new to this and can't do a lot of complex queries yet. I've attached what I've done so far, thank you in advance for your help.

    Given the following relation schemas:

    EMPLOYEE(SSN, NAME, SEX, DNUMBER)
    DEPARTMENT(DNUM BER, DNAME, DMGRSSN)
    DLOCATION(DNUMB ER, DLOCATION)
    PROJECT(PNUMBER , PNAME, PLOCATION)
    WORKSON(SSN, PNUMBER, HOURS)

    Write the following queries in SQL:

    1. List the name(s) of employee(s) who works(work) on every project located in ‘Houston.’

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c.PNUMBER = b. PNUMBER and b.PLOCATION= ‘Houston’

    2. List the name(s) of employee(s) who only works(work) on every project located in ‘Houston.’

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c.PNUMBER=b.PNU MBER and b.PLOCATION in (‘Houston’) and ???

    3. List the name(s) of employee(s) who works(work) on every project except the one(s) located in Houston.

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c. PNUMBER=b.PNUMB ER and b.PLOCATION not in (‘Houston’)

    4. List name(s) of employee(s) who works(work) on exactly all projects located in ‘Houston.’

    ???
  • Vidhura
    New Member
    • May 2007
    • 99

    #2
    Originally posted by alvinguy
    Hi Guys,

    I'm working on a SQL problem and am a bit stuck. I'll have to apologize for I'm still very new to this and can't do a lot of complex queries yet. I've attached what I've done so far, thank you in advance for your help.

    Given the following relation schemas:

    EMPLOYEE(SSN, NAME, SEX, DNUMBER)
    DEPARTMENT(DNUM BER, DNAME, DMGRSSN)
    DLOCATION(DNUMB ER, DLOCATION)
    PROJECT(PNUMBER , PNAME, PLOCATION)
    WORKSON(SSN, PNUMBER, HOURS)

    Write the following queries in SQL:

    1. List the name(s) of employee(s) who works(work) on every project located in ‘Houston.’

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c.PNUMBER = b. PNUMBER and b.PLOCATION= ‘Houston’

    2. List the name(s) of employee(s) who only works(work) on every project located in ‘Houston.’

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c.PNUMBER=b.PNU MBER and b.PLOCATION in (‘Houston’) and ???

    3. List the name(s) of employee(s) who works(work) on every project except the one(s) located in Houston.

    SELECT a.NAME
    FROM EMPLOYEE a, PROJECT b, WORKSON c
    WHERE a.SSN = c.SSN and c. PNUMBER=b.PNUMB ER and b.PLOCATION not in (‘Houston’)

    4. List name(s) of employee(s) who works(work) on exactly all projects located in ‘Houston.’

    ???
    Try to use joins instead of alias names
    sample:
    3. List the name(s) of employee(s) who works(work) on every project except the one(s) located in Houston.

    SELECT a.NAME from Project b
    left join WORKSON c on C.Pnumber=b.Pnu mber
    left join EMPLOYEE a on a.SSN=c.SSN
    WHERE b.PLOCATION !=‘Houston’

    2. List the name(s) of employee(s) who only works(work) on every project located in ‘Houston.’

    select distinct Employee.Name from Project
    left join Workson on Workson.PNumber =Project.PNumbe r
    left join Employee on Employee.SSN=Wo rkson.SSN
    where Project.PLOcati on='Houston'

    4. List name(s) of employee(s) who works(work) on exactly all projects located in ‘Houston.’

    Select Name from Employee where SSN=(Select SSN from
    (Select SSN,count(SSN) as cnt from
    (select distinct SSN,Workson.PNu mber from Project
    left join Workson on Workson.Pnumber = Project.PNumber
    where Project.PLocati on='Houston'
    group by SSN,Workson.PNu mber) as A
    group by SSN) as B
    where cnt=(select Count(Pnumber) from Project Where Plocation='Hous ton'))
    Last edited by Vidhura; Jun 21 '07, 09:26 AM. Reason: Added query

    Comment

    • mandy1
      New Member
      • Jun 2007
      • 7

      #3
      Originally posted by alvinguy
      Hi Guys,

      I'm working on a SQL problem and am a bit stuck. I'll have to apologize for I'm still very new to this and can't do a lot of complex queries yet. I've attached what I've done so far, thank you in advance for your help.

      Given the following relation schemas:

      EMPLOYEE(SSN, NAME, SEX, DNUMBER)
      DEPARTMENT(DNUM BER, DNAME, DMGRSSN)
      DLOCATION(DNUMB ER, DLOCATION)
      PROJECT(PNUMBER , PNAME, PLOCATION)
      WORKSON(SSN, PNUMBER, HOURS)

      Write the following queries in SQL:

      1. List the name(s) of employee(s) who works(work) on every project located in ‘Houston.’

      SELECT a.NAME
      FROM EMPLOYEE a, PROJECT b, WORKSON c
      WHERE a.SSN = c.SSN and c.PNUMBER = b. PNUMBER and b.PLOCATION= ‘Houston’

      2. List the name(s) of employee(s) who only works(work) on every project located in ‘Houston.’

      SELECT a.NAME
      FROM EMPLOYEE a, PROJECT b, WORKSON c
      WHERE a.SSN = c.SSN and c.PNUMBER=b.PNU MBER and b.PLOCATION in (‘Houston’) and ???

      3. List the name(s) of employee(s) who works(work) on every project except the one(s) located in Houston.

      SELECT a.NAME
      FROM EMPLOYEE a, PROJECT b, WORKSON c
      WHERE a.SSN = c.SSN and c. PNUMBER=b.PNUMB ER and b.PLOCATION not in (‘Houston’)

      4. List name(s) of employee(s) who works(work) on exactly all projects located in ‘Houston.’

      ???

      Hi
      Different way for different queries exist.
      if u still have problem in 3rd query u can use the following.

      SELECT a.NAME
      FROM
      EMPLOYEE AS a, WORKSON AS b
      WHERE a.SSN=b.SSN and b.PNUMBER IN
      (SELECT PNUMBER
      FROM PROJECT
      WHERE PLOCATION NOT IN('HOUSTON'));

      IF U STILL HAVE ANY PROBLEM IN ANY OTHER QUERY PLZ TELL I WILL TRY MY BEST TO SOLVE THAT ONE.

      Comment

      Working...