login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ingewikkelde query? (Opgelost)

Offline Chupskie - 22/12/2009 11:12
Avatar van ChupskieMySQL beginner Ik heb een moeilijke voor jullie. Tenminst ik krijg het niet voor elkaar 

Ik heb een database voor producten, met daarin (o.a.) 2 tabellen.

tabel: product
id, cat_id, subcat_id, artikelnr, productnaam

tabel: product_maten
id, artikelnr, maat, prijs

Nu heb ik een maximale prijs. Wat zou nou de query moeten zijn die alle producten ophaalt met deze maximum prijs? Want de prijs zit in een andere tabel?

mysql_query("SELECT * FROM product WHERE artikelnr = '' AND ...? ORDER BY artikelnr ASC")

Alvast bedankt voor jullie hulp.

3 antwoorden

Gesponsorde links
Offline NTS64 - 22/12/2009 11:18 (laatste wijziging 22/12/2009 12:04)
Avatar van NTS64 PHP gevorderde
  1. SELECT productnaam, MAX(prijs) FROM product INNER JOIN product_maten ON product.artikelnr = product_maten.artikelnr

Bedoel je zoiets?
Offline ArieMedia - 22/12/2009 11:18
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
  1. SELECT * FROM product WHERE artikelnr = '.$iID.'AND prijs < '.$iMaxprijs;
Offline Chupskie - 22/12/2009 11:24 (laatste wijziging 22/12/2009 11:44)
Avatar van Chupskie MySQL beginner @ArieMedia, de prijs zit niet in dezelfde tabel. Dus dit zal niet werken.

@NTS64, ik ga het meteen even testen.

edit: bedankt NTS64, dankzij jou kwam ik al een heel eind in de goede richting. Ik heb het verder aangepast, en dit is de werkende code geworden:

  1. mysql_query("SELECT DISTINCT * FROM product p
  2. LEFT JOIN product_maten m ON (p.artikelnr = m.artikelnr)
  3. WHERE p.catid = '123'
  4. AND p.subcatid = '456'
  5. AND m.prijs < '10.95'
  6. GROUP BY p.artikelnr
  7. ORDER BY p.artikelnr ASC");


Bedankt voor de hulp!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s