| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 28.06.2008
Beiträge: 259
![]() | Hallo Slava, danke für deine Antwort. Ich glaube ich habe einen wichtigen Punkt vergessen. Mir geht es nicht darum, die Werte innerhalb der Tabelle zu verändern, die sind schon richtig so, denke ich (Hintergrund: In der lodgingid-Spalte stehen nur zahlen, die mit einer anderen Tabelle verknüpft sind, in der dann zu der Zahl die entsprechende Unterkunft steht, die derjenige gewählt hat). Ich will einen csv-Export über eine SQL-Abfrage generieren. Und ich will wissen, ob es mit MySQL möglich ist solche "Berechnungen" zu tun, denn dann könnte ich es direkt über phpMyAdmin generieren. Sonst muss ich extra ein PHP-Skript schreiben, was mir die Berechnungen macht und das darüber generieren. Meine MySQL-Version ist 5.0.19 Gruß Marcel |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.032
![]() | Das erste Problem lässt sich mit Code: SELECT
fam.id,
fam.lastname,
mem.surname,
mem.birthday,
CASE WHEN mem.lodgingid = 1 OR mem.lodgingid = 6 THEN 0
WHEN mem.lodgingid = 3 THEN 33
ELSE 20 END AS LODGINGID,
mem.mealid,
fam.participationfee * 80 / $anz_member
FROM anm2007_family_members mem
INNER JOIN anm2007_families fam ON mem.famid=fam.id
__________________ Gruss L |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.032
![]() | Ok, ich habs versucht, aber keinen Weg gefunden das in einer Abfrage zu lösen. Das einzige, was mir eingefallen ist: du definierst eine Funktion (Stored Procedure) und rufst diese dann in der Abfrage auf. Die Funktion musst du in der MySQL-Konsole definieren, phpmyadmin unterstütz das nicht. Das brauchst du allerdings nur einmal zu tun, dann bleibt sie bestehen, bis du sie wieder löschst. Da die Funktion aus mehreren, mit Semikolon getrennten Befehlen besteht, müssen wir zuerst den Delimiter ändern z.B: Code: delimiter $$ Code: CREATE FUNCTION anz_member(fam_id INTEGER)
RETURNS INTEGER
BEGIN
DECLARE anz INTEGER DEFAULT 0;
SELECT COUNT(*) INTO anz
FROM anm2007_family_members
WHERE famid = fam_id;
RETURN anz;
END$$
Code: SELECT
fam.id,
fam.lastname,
mem.surname,
mem.birthday,
CASE WHEN mem.lodgingid = 1 OR mem.lodgingid = 6 THEN 0
WHEN mem.lodgingid = 3 THEN 33
ELSE 20 END AS LODGINGID,
mem.mealid,
fam.participationfee * 80 / anz_member(fam.id) AS FEE
FROM anm2007_family_members mem
INNER JOIN anm2007_families fam ON mem.famid=fam.id
__________________ Gruss L |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 17.01.2006
Beiträge: 468
![]() | nicht getestet Code: SELECT
fam.id,
fam.lastname,
mem.surname,
mem.birthday,
ELT(FIELD(mem.lodgingid,1,2,3,4,5,6),0,20,20,20,33,0) AS LODGINGID,
mem.mealid,
fam.participationfee * 80 /
(select count(*) from anm2007_family_members where famid=fam.id) as beitrag
INNER JOIN anm2007_families fam ON mem.famid=fam.id
FROM anm2007_family_members mem
INNER JOIN anm2007_families fam ON mem.famid=fam.id
oder so wie es vorgeschlagen wurde CASE WHEN mem.lodgingid = 1 OR mem.lodgingid = 6 THEN 0 WHEN mem.lodgingid = 5 THEN 33 WHEN mem.lodgingid in(2,3,4) THEN 20 ELSE mem.lodgingid END CASE |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt | Seb | PHP Tipps 2008 | 2 | 29.05.2008 11:36 |
| MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers | FireFIghter | Datenbanken | 3 | 02.02.2007 17:18 |
| MySQL Abfrage macht Seite langsam | Datenbanken | 11 | 19.10.2006 19:38 | |
| MySQL Abfrage Von / Bis | andrew22 | Datenbanken | 1 | 02.10.2006 11:04 |
| MySQL - Abfrage: Unterschiedliche Ergebnisse aus PHP/manuell | horstenpeter | Datenbanken | 3 | 16.07.2006 13:22 |
| mysql abfrage in Schleife | havok | PHP Tipps 2006 | 6 | 09.05.2006 08:39 |
| mysql abfrage | mqs | PHP Tipps 2006 | 4 | 09.04.2006 17:57 |
| Abfrage bei mySQL 4 | ApfeL | Datenbanken | 5 | 24.03.2006 18:53 |
| komplizierte mysql abfrage | php_frage | PHP Tipps 2007 | 5 | 28.12.2005 17:55 |
| [Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert | Datenbanken | 2 | 08.09.2005 11:59 | |
| Suche Tipps für Persormance-Steigerung (Geld für Nützliches) | Beitragsarchiv | 18 | 16.08.2005 10:57 | |
| [Erledigt] Mysql Abfrage Problem! | PHP-Fortgeschrittene | 5 | 27.11.2004 10:22 | |
| komplizierte mySQL Abfrage | Datenbanken | 6 | 25.06.2004 15:34 | |
| Paradox, Fehler bei Berechnung in MySQL | MrNiceGuy | Datenbanken | 0 | 23.06.2004 16:09 |
| [Erledigt] mysql Abfrage | Datenbanken | 5 | 18.06.2004 14:16 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysql berechnungen, mysql berechnung, mysql berechnen, mysql abfrage rechnen, mysql stunden berechnen, rechnen in mysql abfrage, berechnungen mysql, berechnung mysql, sql abfrage berechnung, mysql query rechnen, mysql wert berechnen, mysql update berechnung, mysql abfrage berechnung, mysql werte berechnen, berechnungen in mysql, sql abfrage berechnen, berechnung in sql abfrage, mysql berechnung abfrage, rechnen mit mysql abfrage, mysql rechnen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.