Toon posts:

[MySQL] Select in statement

Pagina: 1
Acties:

Verwijderd

Topicstarter
Tweakers,

Waarschijnlijk zeer simpel, maar ik heb het nog niet kunnen vinden. Ik doe een:
code:
1
2
3
Select TABELNAAM.* from TABELNAAM 
where TABELNAAM.VELD in 
  (Select TABELB.ID from TABELB where TABELB.NAAM = 'test' )


Het gaat dus eigenlijk om het select in statement. Als ik doe:
code:
1
in (1,2,3)

Dan gaat het wel gewoon goed. Maar met zo'n select er binnen gaat het dus fout. Binnen Oracle en SQL Server krijg ik dit wel gewoon voor elkaar en volgens mij moet het in MySQL ook kunnen maar kan ik de juiste syntax niet voor elkaar krijgen. Ik kom het voorbeeld alleen ook nog niet tegen en hoop dus weer op hulp.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:24
MySQL ondersteund pas sinds recente versies subqueries.
offtopic:
Pinobigbird +1 behulpzaam :)


Vertel even wat je precies wilt doen, welke gegevens heb je en hoe moeten die in relaties staan met elkaar? Waarschijnlijk kun je het beste een join gebruiken om dit probleem op te lossen.

[ Voor 81% gewijzigd door djluc op 10-04-2004 14:59 ]


  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 23:06

Pinobigbird

doesn't share food!

djluc schreef op 10 april 2004 @ 14:57:
MySQL ondersteund pas sinds recente versies subqueries.
Volgens mij sinds 4.1, en de laatste stabiele versie op dit moment is 4.0 als ik me niet vergis.

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Voor de syntax, tik even subquery in op de website van mysql.com. Dan zie je onder andere:

http://dev.mysql.com/doc/...Y_IN_SOME_subqueries.html

Lees op een van die pagina's ook welke minimale versie van mysql je moet hebben. Als je een te oude versie hebt dan is het bij voorbaat al uitgesloten dat het gaat werken.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:24
Infinitive schreef op 10 april 2004 @ 14:59:
Voor de syntax, tik even subquery in op de website van mysql.com. Dan zie je onder andere:[...]
Volgens mij wist de TS nog niet dat dit subquery's zijn, en dat die dingen dus ook zo heten. Hij gebruikt dat woord namelijk ook niet in zijn post. Zo'n select ding er in snapt de search engine van MySQL natuurlijk ook niet.

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 14-05 15:52
Volgens mij is dit relatief eenvoudig om te schrijven naar een join.
code:
1
2
3
4
5
6
7
8
Select 
     TABELNAAM.*
from 
     TABELB 
left join
     TABELNAAM on TABELNAAM.VELD=TABELB.ID 
where 
     TABELB.NAAM = 'test'


Lees ook eens op de site van MySQL het stukje over joins, daarin staan leuke voorbeelden van hoe je 'subqueries' meestal wel kan omschrijven naar joins.
Pagina: 1