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

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