Avatar billede suulut_sdj Juniormester
18. maj 2023 - 14:53 Der er 3 kommentarer

subquery

Denne query returnerer 29 resultater
select eval_muligheder.mulighed_id, eval_user.uddybbende
from eval_user
join eval_muligheder on eval_muligheder.id = eval_user.mulighed_id
join eval_hoved on eval_hoved.id = eval_muligheder.eval_hoved_id
where eval_hoved.id  = 1

Jeg ønsker at lave en subquery:
select
(select eval_muligheder.mulighed_id, eval_user.uddybbende from eval_user
join eval_muligheder on eval_muligheder.id = eval_user.mulighed_id
join eval_hoved on eval_hoved.id = eval_muligheder.eval_hoved_id
where eval_hoved.id = 1),
(select eval_muligheder.mulighed_id, eval_user.uddybbende from eval_user
join eval_muligheder on eval_muligheder.id = eval_user.mulighed_id
join eval_hoved on eval_hoved.id = eval_muligheder.eval_hoved_id
where eval_hoved.id = 2)
men får denne fejl: MySQL returnerede: Dokumentation

#1241 - Operand should contain 1 column(s)
Kan man lave subqueryes der returnerer flere resultater?
Avatar billede arne_v Ekspert
18. maj 2023 - 15:23 #1
Er det ikke samme query bare med forskellig id?

Hvis ja så:

select eval_muligheder.mulighed_id, eval_user.uddybbende from eval_user
join eval_muligheder on eval_muligheder.id = eval_user.mulighed_id
join eval_hoved on eval_hoved.id = eval_muligheder.eval_hoved_id
where eval_hoved.id IN (1,2)
Avatar billede suulut_sdj Juniormester
18. maj 2023 - 16:52 #2
Jo det er samme query med forskelligt id. Med din løsning før jeg to kolonner med hver 58 resultater.

Jeg ønsker fire kolonner med hver 29 resultater.
| mulighed_id(1) | Uddybende(1) | Mulighed_id(2) | uddybende(2) |
----------------------------------------------------------------------------------------
|  29 resultater  | 29 resultater    | 29 resultater    | 29 resultater    |
Avatar billede arne_v Ekspert
18. maj 2023 - 17:10 #3
Hvis du vil have de to query resultater ved siden af hinanden er skal du lave en JOIN.

SELECT * FROM (SELECT ...) a JOIN (SELECT ...) b ON a.x = b.x

Jeg ved ikke hvilket felt x du kan bruge til at joine på.
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