LEFT JOIN + ORDER

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek Berckmans

Niek Berckmans

22/06/2009 10:52:00
Quote Anchor link
Hoi,

Ik heb het volgende stukje sql:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$result
=db_perform_query('SELECT p_2_c.products_id,p_d.products_name,p.products_image,p.products_price,s.specials_new_products_price,t.tax_rate FROM products_to_categories AS p_2_c,products AS p,products_description AS p_d,tax_rates AS t LEFT JOIN specials AS s ON p_2_c.products_id=s.products_id  WHERE p_2_c.categories_id='.(int)$cat_id[count($cat_id)-1].' AND p_2_c.products_id=p_d.products_id AND  p_2_c.products_id=p.products_id AND p_2_c.products_id=p.products_id AND p.products_tax_class_id=t.tax_class_id AND p.products_status=1 AND p_d.language_id='.LANGUAGE_ID.' '.$row_sort.' LIMIT '.$query_start.','.$query_limit);
?>


Deze wil ik laten orderen op prijs, het probleem: ik heb 2 prijzen, products_price en specials_new_products_price. Specials_new_products_price wordt uit de DB gehaald met een LEFT JOIN en bestaat niet altijd.
Vraag: hoe kan ik deze query laten orderen op specials_new_products_price als deze bestaat en wanneer deze niet bestaat op products_price?

Bvd
 
PHP hulp

PHP hulp

21/11/2024 23:54:28
 
Robert Deiman

Robert Deiman

22/06/2009 12:35:00
Quote Anchor link
@Niek B.
Ik snap ook niet waarom je die prijzen zo hebt staan, er geld altijd maar 1 prijs voor een product. Wat je bijv zou kunnen doen is de prijzentabel zo opzetten:

id, product_id, prijs, prijs_type, startdatum

Je maakt dan evt een tabel prijs_type waarin je dus products_price en specials_new_products_price plaatst. De startdatum is de datum waarop de prijs ingaat (en tevens geldt de vorige prijs vanaf die datum niet meer)
Zo kan je zelfs een prijshistorie bewaren, je kan ook vantevoren instellen hoe lang je specials_new... geldig is. Scheelt jou een boel werk, rare query's en is ook een stuk logischer in de opbouw.
 
Niek Berckmans

Niek Berckmans

22/06/2009 12:39:00
Quote Anchor link
Kan ik inderdaad doen. Ik zit op het moment met een al gevulde database waaromheen ik een nieuw design aan het bouwen ben. Dus dacht vanaf daar gewoon alles voor elkaar te kunnen krijgen. Dan maar even wat in de tabellen aanpassen. Bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.