If statement in een een select query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kristoff

kristoff

11/02/2009 12:50:00
Quote Anchor link
Hey iedereen,

Ik ben momenteel bezig met een klein querytje te schrijven.
Ik zou eigenlijk een if statement willen uitvoeren op een terug gekregen waarde van mysql en naargelang de terug gekeerde waarde moet een bepaalde tabel geselecteerd worden voor mijn select query uit tevoeren .
Ik zou dit in php perfect kunnen uitvoeren maar ik zou dit graag in mijn query doen voor een snellere code te krijgen.

ik heb volgende query nu maar ik krijg een fout maar ik weet niet echt hoe ik dit moet oplossen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
    $query
= 'SELECT * FROM
                                IF (SELECT pagina FROM '
. PRIJSLIJST_CATEGORIE . ' WHERE cat = ' . $cat .  '  LIMIT 1 ) = 2 THEN
                                
                                '
. PRIJSLIJST_ONDERDELEN . '
                                ELSE
                                '
. PRIJSLIJST_PRODUCTEN .'
                                END IF;
                WHERE CategorieId='
. $cat . ' ORDER BY Prijs asc';

?>
 
PHP hulp

PHP hulp

18/12/2024 11:39:23
 
Jacco Engel

Jacco Engel

11/02/2009 13:51:00
Quote Anchor link
Waarom bekruipt me het gevoel dat we hier een geval "fout databmodel" onder ogen hebben?
 
Kristoff

kristoff

11/02/2009 13:53:00
Quote Anchor link
Ik kan het niet ander oplossen.
Het is voor een admin pagina.
Ik wil de administratie op één de zelfde pagina laten doorgaan via ajax.
Het is voor een prijslijst.
één deel is voor losse onderdelen en één voor totale dingen.
Je hebt voor deze twee zaken TOTAAL verschillende tabellen nodig.
 
Wouter De Schuyter

Wouter De Schuyter

11/02/2009 13:53:00
Quote Anchor link
Haha lol..
 
Jacco Engel

Jacco Engel

11/02/2009 13:55:00
Quote Anchor link
kristoff schreef op 11.02.2009 13:53:
Ik kan het niet ander oplossen.
Het is voor een admin pagina.
Ik wil de administratie op één de zelfde pagina laten doorgaan via ajax.
Het is voor een prijslijst.
één deel is voor losse onderdelen en één voor totale dingen.
Je hebt voor deze twee zaken TOTAAL verschillende tabellen nodig.


Dat kan best zijn maar dat je info in verschillende tabellen zet betekend niet per definitie dat het dan klopt :). Verder heeft dit opzich niets met ajax te maken omdat in dit stuk code met of zonder ajax geen enkel verschil zit normaal gesproken.

Maar laat eens zien wat voor fout je kijgt
 
Kristoff

kristoff

11/02/2009 13:57:00
Quote Anchor link
dit is de fout


Fout

SQL-query: Documentatie

SELECT *
FROM (
IF(
SELECT pagina
FROM prijslijst_categorie
WHERE cat =7
LIMIT 1 ) =2
THEN prijslijst_onderdelen
ELSE prijslijst_producten
END IF ;

MySQL retourneerde: Documentatie
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (SELECT pagina FROM prijslijst_categorie WHERE cat = 7 LIMIT 1 ) = 2 THEN
pr' at line 2
 



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.