SQL fråga, subquery ihop med count

Permalänk
Inaktiv

SQL fråga, subquery ihop med count

Hej jag håller på att skapa en enkel databas i Microsoft Access.

Den innehåller en kontakt-tabell där jag vill kunna filtrera bort alla som bor på samma adress.
D.v.s att endast personer som bor ensamma ska visas.

Tabellen innehåller följande fält:
ID, forname, aftername, streetadress, postadress

Jag testar följande SQL sats, men får den ej att fungera.

SELECT Blad1.forname, Blad1.aftername, Blad1.streetadress, Blad1.postadress FROM Blad1 WHERE EXISTS (SELECT Blad1.streetadress, COUNT(*) AS calc FROM Blad1 GROUP BY Blad1.streetadress HAVING COUNT(*) = 1);

Resultatet jag får är att den visar alla poster även de där flera bor på samma adress.

Jag misstänker att felet ligger i att jag har missuppfattat EXISTS, men jag får det att att fungera hur mycket jag än försöker.

Tacksam för hjälp.

//Johan

Permalänk
Medlem

Bra resurs: Intermediate Microsoft Jet SQL for Access 2000

Fortsätt testa, ett tips är att göra en väldigt enkel databas att prova SQL-queries på.

Permalänk
Medlem
Skrivet av anon159643:

SELECT Blad1.forname, Blad1.aftername, Blad1.streetadress, Blad1.postadress FROM Blad1 WHERE EXISTS (SELECT Blad1.streetadress, COUNT(*) AS calc FROM Blad1 GROUP BY Blad1.streetadress HAVING COUNT(*) = 1);

//Johan

Det här borde funka

SELECT Blad1.forname, Blad1.aftername, Blad1.streetadress, Blad1.postadress FROM [Blad1] WHERE EXISTS (SELECT b2.streetadress, COUNT(*) AS calc FROM [Blad1] b2 WHERE Blad1.streetadress = b2.streetadress GROUP BY b2.streetadress HAVING COUNT(*) = 1);

Sen är ett tips att antingen köra engelska eller svenska och inte någon svengelska när du döper objekten.

Permalänk
Inaktiv
Skrivet av azoapes:

Bra resurs: Intermediate Microsoft Jet SQL for Access 2000

Fortsätt testa, ett tips är att göra en väldigt enkel databas att prova SQL-queries på.

Tackar för tipset, jag skriver ut denna och ska läsa på.

Skrivet av narya:

Det här borde funka

SELECT Blad1.forname, Blad1.aftername, Blad1.streetadress, Blad1.postadress FROM [Blad1] WHERE EXISTS (SELECT b2.streetadress, COUNT(*) AS calc FROM [Blad1] b2 WHERE Blad1.streetadress = b2.streetadress GROUP BY b2.streetadress HAVING COUNT(*) = 1);

Sen är ett tips att antingen köra engelska eller svenska och inte någon svengelska när du döper objekten.

Fungerar helt perfekt, tackar så vänligt.

Och självklart ska jag kontrollera min stavning bättre, en kodsnutt ska självklart inte innehålla svengelska. Tackar även för detta påpekande, då jag genast rättar koden.