Avatar billede pfp Nybegynder
10. maj 2007 - 09:03 Der er 4 kommentarer og
1 løsning

Hjælp til SELECT WHERE statement

Hej.

Jeg har nedenstående SQL statement.

SELECT
    Personel.PEFullName
FROM
    PersHistory
INNER JOIN
    Personel ON PersHistory.PHPEKey = Personel.PeKey

WHERE

    (PersHistory.PHStopDate = '2099-12-31') AND
    (PersHistory.PhPosition = 1) AND
    (PersHistory.PHStatus = 1) AND
    (Personel.PECPRNo <> '88888888880') AND
    (Personel.PECPRNo <> '99999999990') AND
    (Personel.PESHKey = '001193581729356')




SELECT
    Persons.Fullname
FROM
    History
INNER JOIN
    Persons ON History.Key = Persons.Key

WHERE
    (History.Position = 1) AND
    (History.Status = 1) AND
    (Persons.AreaKey = '12345678')


Udover de allerede nævnte tabeller har jeg også tabellen Areas.

Jeg vil nu gerne kombinere min WHERE statement således at jeg kun udvælger de Persons, hvor Persons.AreaKey opfylder nogle betingelser i Area tabellen.

Dvs. hvis Area.Active = 1 skal den pågælde Person tages med i resultatet.

Er der en her der kan hjælpe mig med det?
Avatar billede pfp Nybegynder
10. maj 2007 - 09:03 #1
Hov det var en fejl...mit SQL statement er kun:

SELECT
    Persons.Fullname
FROM
    History
INNER JOIN
    Persons ON History.Key = Persons.Key

WHERE
    (History.Position = 1) AND
    (History.Status = 1) AND
    (Persons.AreaKey = '12345678')
Avatar billede fennec Nybegynder
10. maj 2007 - 09:09 #2
Hvordan hænger Area tabellen sammen med de andre? Mangler en databaseoversigt.
Avatar billede hrc Mester
10. maj 2007 - 09:23 #3
fennec (helikopter?): Pfp skriver at Persons har en fremmednøgle til Area.

Kan du ikke bare gøre sådan her?

SELECT P.FULLNAME
  FROM HISTORY H
  JOIN PERSONS P ON (H.KEY = P.KEY)
  JOIN AREA A ON (A.AAKEY = P.AREAKEY)
  WHERE (H.POSITION = 1)
    AND (H.STATUS = 1)
    AND (P.AREAKEY = '12345678')
    AND (A.VALUE = XXX)
Avatar billede hrc Mester
10. maj 2007 - 09:33 #4
SELECT P.FULLNAME
  FROM HISTORY H
  JOIN PERSONS P ON (H.KEY = P.KEY)
  JOIN AREAS A ON (A.AAKEY = P.AREAKEY)
  WHERE (H.POSITION = 1)
    AND (H.STATUS = 1)
    AND (P.AREAKEY = '12345678')
    AND (A.ACTIVE = 1)
Avatar billede pfp Nybegynder
10. maj 2007 - 16:19 #5
Tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester