Avatar billede bolmer Nybegynder
11. juni 2005 - 22:39 Der er 3 kommentarer og
1 løsning

Nested WHERE saetninger

Jeg har to tabeller:

depositor: som indeholder attributterne customer_name og account_number.
account: som indeholder attributterne account_number og branch_name.

Jeg har saa lavet foelgende sql saetning:

SELECT customer_name
FROM depositor D
WHERE D.account_number =
    (SELECT account_number
      FROM account A
      WHERE A.branch_name = 'Perryridge');

Men det giver fejlen:
ERROR 1242 (21000): Subquery returns more that 1 row

Hvis jeg kun koere den saetning som er i parentesen saa faar jeg resultatet:

A-102
A-201

Men hvorfor kan jeg ikke faa customer_name paa de kunder i depositor hvor account_number er A-102 og A-201?
Avatar billede arne_v Ekspert
11. juni 2005 - 22:45 #1
SELECT customer_name
FROM depositor D
WHERE D.account_number IN
    (SELECT account_number
      FROM account A
      WHERE A.branch_name = 'Perryridge');
Avatar billede arne_v Ekspert
11. juni 2005 - 22:45 #2
= kræver en værdi
IN kan håndtere en mængde
Avatar billede bolmer Nybegynder
12. juni 2005 - 15:22 #3
Kanon du ska ha point
Avatar billede arne_v Ekspert
12. juni 2005 - 15:23 #4
så ligger jeg et svar
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