2016-08-01 19 views
0

database columnsInformationen aus der Datenbank abfragen PHP/SQL

ich Daten aus einer Tabelle auswählen möchten, mit diesen beiden Spalten verwenden. Ich bin ich zu tun versuchen, ist die Tabelle auswählen, in dem Monat zwischen Februar und August und Jahr zwischen 2003 und 2005 einschließlich des Monats Januar für 2004 und 2005 ich dies versucht haben: `

$number = range(3, 8); 

foreach($number as $key=> $value): 
        $where .= " Month ='$value' AND Year BETWEEN '2003' AND '2005' or " ;     
     endforeach; 
if(strlen(trim($where)) > 0) 

    $where = substr(trim($where), 0, -2);` 
$query = "SELECT * FROM myTable $where"; 

, die die folgende Abfrage zurückgeben

SELECT * FROM myTable WHERE Month ='2' AND Year BETWEEN '2003' AND '2005' or Month ='3' AND Year BETWEEN '2003' AND '2005' or Month ='4' AND Year BETWEEN '2003' AND '2005' or Month ='5' AND Year BETWEEN '2003' AND '2005' or Month ='6' AND Year BETWEEN '2003' AND '2005' or Month ='7' AND Year BETWEEN '2003' AND '2005' or Month ='8' AND Year BETWEEN '2003' AND '2005' 

Aber das Problem w ith meine Abfrage ist es nicht Januar 2004 und 2005 auswählen. Jeder mit einer Idee, wie dies zu tun ist?

Antwort

0
SELECT * FROM myTable 
WHERE (Month >=2 AND Month <=8 AND year BETWEEN 2003 AND 2005) OR (Month=1 AND (year=2004 OR year=2005)) 
+0

Vielen Dank für die Markierung als richtig. Kannst du bitte upvote? – jophab

Verwandte Themen