phpbar.de logo

Mailinglisten-Archive

Klammerung bei SELECT?

Klammerung bei SELECT?

Cybot 4t2.com-mysql at tekkno4u.de
Die Jul 15 16:46:44 CEST 2003


> article_id | category_id | weight
> -----------+-------------+-------
>          1 |           1 |     9
>          1 |           7 |     5
>          1 |           9 |     7
>          1 |          11 |     6
>          2 |           2 |     4
>          2 |           6 |     9
> .........etc....................
> 
> Nun brauche ich die Summe aller Gewichte ("weight"-Feld), die in
> bestimmten Kategorien für einen Artikel ("article_id") vorhanden sind;
> 
> Wenn die gesuchten Kategorien also 1,6,9,11,15 und 16 sind sollte bei
> obiger Tabelle als Ergebnis idealerweise 22 herauskommen.
> 
> Die Summe macht mir via SQL Probleme, aber die könnte ich in PHP
> bilden. Also habe ich auf folgendem Weg versucht, für EINEN BESTIMMTEN
> Artikel alle "weights" zu ermitteln:
> 
>       SELECT weight
>         FROM correlations
>         WHERE article_id="1"
>           AND ( category_id="1"
>              OR category_id="6"
>              OR category_id="9"
>              OR category_id="11"
>              OR category_id="15"
>              OR category_id="16")
> 
> (Einrückung nur zwecks übersichtlichkeit).
> 
> Im Browser (PHP-API) bekomme ich nur eine Fehlermeldung  ("Warning:
> Invalid argument supplied for foreach() in path\prioritylist.php on
> line xyz").
> 
> Derselbe Query (im Script ausgegeben und dann via Copy and Paste)
> führt in mySQL-Front zu dem ebenso profanen wie falschen Ergebnis "9",
> also offensichtlich nur dem "ersten" Wert aus der Tabelle.
> 
> Was mache ich falsch? Ich bin für jeden Tipp dankbar, das Ganze ist
> ein Studienprojekt und der Abgabetermin drückt ;)))

keine ahnung was du falsch amchst, sehe hier keinen fehler

aber um deine summer rauszubekommen würde ich das so machen:

SELECT SUM(`weight`)
FROM `correlations`
WHERE `article_id` = "1"
  AND `category_id` IN ("1", "6", "9", "11", "15", "16")

-- 
Sebastian Mendel

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive