hi H☼psel,
SELECT feld_1,feld_2
FROM Tabelle_1
WHERE feld_1 = 13
AND ( optional IS NULL
OR optional = 23 )
>
> Richtig?
Ich habe jetzt noch einen Fall in meiner DB gefunden, wo eine IF Sinnvoll wäre, mit deinem Beispiel hat es schon mal nicht geklappt.
Gegeben sind die Tabellen:
~~~sql
-- Daten für Tabelle cms_content
id | content | group_id | user_comments
---------------------------------------
1 | Texte | 12 | 1 -- erlaubt
2 | texte2 | 15 | 0 -- nicht erlaubt
3 | Texte3 | 22 | 1 -- erlaubt
-- Daten für Tabelle cms_comments
id | comments | group_id
------------------------
1 | comment1 | 12
2 | comment2 | 12
3 | comment3 | 22
SELECT
content, user_comments
, comments
FROM
cms_content, cms_comments
WHERE
cms_content.group_id = 12
AND
cms_comments.group_id = 12
Das liefert mir die richtigen Daten, allerdings nur, wenn es auch Kommentare mit entsprechender ID gibt, ansonsten bekomme ich keine Datensätze.
Das heisst, über das SELECT muss erst einmal festgestellt werden, ob Kommentare überhaupt erlaubt sind (user_comments = 1), und wenn ja, ob es zu der gegebenen „group_id“ auch welche gibt.
Also etwas in der art wie (Pseudocode):
SELECT
content, user_comments
FROM
cms_content
WHERE
cms_content.group_id = 12
IF (user_comments == 1)
{
SELECT
comments
FROM
cms_comments
WHERE
cms_comments.group_id = 12
}
Ist sowas in dieser richtung überhaupt möglich oder muss ich das über 2 SELECT lösen?
mfg
--
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
["SELFCODE"]=>
string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
["Meaningful"]=>
string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
["SELFCODE"]=>
string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
["Meaningful"]=>
string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}