[MySQL]query met "IN"-construct (4.1+) herschrijven voor 4.0

Pagina: 1
Acties:

  • Diederick Janse
  • Registratie: September 2001
  • Laatst online: 30-05-2017
Hoi!

Ik heb een MySQL query die niet goed werkt. De query maakt gebruik van het "IN"-construct, welke pas vanaf MySQL 4.1 en hoger ondersteund wordt. Mijn database draait op een machine met MySQL 4.0.25 en begrijpt deze query dus niet correct.

Ik weet weinig van MySQL syntax en het lukt me niet om de query te herschrijven voor 4.0.25. Het gaat om de volgende query (met als voorbeeld de id2 waarde van 89):

code:
1
SELECT * FROM table WHERE id1 IN (SELECT id1 FROM table WHERE id2=89);


Hier wordt uitgelegd hoe het "IN"-construct herschreven kan worden voor oudere versies van MySQL (lager dan 4.1). Ik kom er niet helemaal uit en zou hulp enorm op prijs stellen.

Mr. Pink - "Hey, fuck all that, I'm making a point here. You're gonna make me lose my train of thought."


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
select * from table
where id2=89

Dit doet toch precies wat je wilt of niet soms???

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Lijkt me dat die subquery iets in een andere tabel moet gaan opzoeken anders heeft het idd weinig nut. Overigens wordt de IN operator wel ondersteunt, maar niet de IN operator met subquery aangezien geen enkele vorm van een subquery wordt ondersteund door MySQL < 4.1

It’s nice to be important but it’s more important to be nice


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Puur strict gezien zou de query in de openingspost kunnen worden herschreven naar dit:
SQL:
1
2
3
4
SELECT *
FROM `table` AS `t1` INNER JOIN `table` AS `t2`
  ON `t1`.`id1` = `t2`.`id2`
WHERE `t2`.`id2` = 89

Maar het moge duidelijk zijn dat dat erg, erg onzinnig is. Aan de andere kant snap je nu wellicht de vertaalstap die je moet maken wanneer je wèl een join nodig hebt.

[ Voor 3% gewijzigd door NMe op 09-01-2006 22:05 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.