Toon posts:

[MySQL] Hoe IN te gebruiken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Probleem. Deze query werkt gewoon onder Ingres, MS SQL, Access, maar niet onder MySQL :
code:
1
SELECT distinct pr.vendor_id, ve.name, pr.title,de.dealerprice FROM vendor ve, product pr, dealerprice de, product_category pc where ve.vendor_id=pr.vendor_id AND de.prod_id=pr.prod_id AND  pr.prod_cat_id=13 AND de.dealerprice IN (select min(de2.dealerprice) from dealerprice de2 where de2.prod_id=de.prod_id)

Het probleem zit hem in "IN". Op een of andere manier wilt MySQL die in een andere vorm hebben, maar de documentatie heeft het alleen over constanten.
Iemand enig idee hoe dit op te lossen? In een nette vorm aub.
code:
1
2
3
4
5
6
expr IN (value,...) 
Returns 1 if expr is any of the values in the IN list, else returns 0. If all values are constants, then all values are evaluated according to the type of expr and sorted. The search for the item is then done using a binary search. This means IN is very quick if the IN value list consists entirely of constants. If expr is a case-sensitive string expression, the string comparison is performed in case-sensitive fashion: 
mysql> SELECT 2 IN (0,3,5,'wefwf');
      -> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
      -> 1

Verwijderd

Je gebruikt een sub-query om de IN te vullen dit kan niet met mysql

Verwijderd

Topicstarter
tnxs, heb inmiddels wat gevonden http://www.mysql.com/doc/A/N/ANSI_diff_Sub-selects.html

Sub-selects are scheduled for implementation in Version 4.x.

Verwijderd

Topicstarter
Weet iemand dan hoe je de laagste waarde uit records kan pakken ?
Met de query die ik eerder aangaf pakt ie dezelfde tabel, maar pakt dan de laagste record. Aangezien mySQL dus geen subqueries aan kan op dit moment, vraag ik me af of iemand een mooi workaround heeft.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op donderdag 25 april 2002 14:23 schreef awesdorp het volgende:
Weet iemand dan hoe je de laagste waarde uit records kan pakken ?
Met de query die ik eerder aangaf pakt ie dezelfde tabel, maar pakt dan de laagste record. Aangezien mySQL dus geen subqueries aan kan op dit moment, vraag ik me af of iemand een mooi workaround heeft.
'order by' en 'limit'.

Who is John Galt?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 20:58

Janoz

Moderator Devschuur®

!litemod

HAVING ? of mischien MIN icm GROUP BY?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op donderdag 25 april 2002 14:26 schreef Janoz het volgende:
HAVING ? of mischien MIN icm GROUP BY?
Thank You. Ik had de combinatie reeds gevonden net, voordat ik je post las. Zo'n bevestiging is erg fijn. Thank you.

Access snapt dit touwens niet, pffffffff....fijn zo'n standaard

Verwijderd

Subqueries zijn in mysql te emuleren door de subquery naar een memory table uit tevoeren, en daarin doe je je hoofdquery.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:30
Een goed databasemodel heeft geen subqueries nodig >:)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

ddc:
Een goed databasemodel heeft geen subqueries nodig >:)
:?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:30
drm:
:?
:?

Verwijderd

Topicstarter
Op donderdag 25 april 2002 14:38 schreef PalmPal het volgende:
Subqueries zijn in mysql te emuleren door de subquery naar een memory table uit tevoeren, en daarin doe je je hoofdquery.
Heftige workaround

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

ddc:
:?
:?

:D lol, zo kunnen we nog wel ff doorgaan

Maar ik bedoelde: hoe kom je erbij dat een goed databasemodel nooit subqueries nodig heeft, en wat brengt je ertoe dat te zeggen?

kortom: :? :D

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:30
drm:
:?

:D lol, zo kunnen we nog wel ff doorgaan

Maar ik bedoelde: hoe kom je erbij dat een goed databasemodel nooit subqueries nodig heeft, en wat brengt je ertoe dat te zeggen?

kortom: :? :D
Net hoe ik het zeg. Als je de koppelingen anders legt, dan heb je aan Joins voldoende. Subqueries gebruiken kan natuurlijk wel voordelen hebben, maar je hebt het nooit nodig in de zin dat je niet zonder kunt :).

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 20:58

Janoz

Moderator Devschuur®

!litemod

Op donderdag 25 april 2002 18:19 schreef ddc het volgende:

[..]

Net hoe ik het zeg. Als je de koppelingen anders legt, dan heb je aan Joins voldoende. Subqueries gebruiken kan natuurlijk wel voordelen hebben, maar je hebt het nooit nodig in de zin dat je niet zonder kunt :).
Zou ik niet al te snel zeggen hoor. Er zijn situaties denkbaar waarin een subselect echt nodig zijn. Echter, als subselects beschikbaar zijn worden de ontwerpers vaak lui, er kan meer in 1 select dan veel mensen door hebben.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1