php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.09.2011, 19:22  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.233
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von tsunami Beitrag anzeigen
Also statt:[...]
Nein. Du hast eine 1:n Beziehung zwischen tabelle 1 und einer völlig neuen Tabelle, in der die IDs drin stehen. Je eine ID je Zeile.
Und ja, das wäre zielführender.

Ansonsten: Welche Spalte heisst wie? Wie ist das aktuelle Ergebnis bei welchem Query und was erwartest du?
Ich kann noch nicht ganz so viel anfangen. Ich hab keine Ahnung, was du meinst, was da verfälscht werden soll.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.09.2011, 19:48  
Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
tsunami befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
SELECT sum(tabelle1.wert1)*konstante1 as x,
SUM(tabelle1.wert2)as y,
SUM(tabelle1.wert3)*konstante3 as z,
tabelle2.wert*konstante4/100 as 
FROM tabelle1
,tabelle2 
WHERE tabelle2
.gebraucht=and FIND_IN_SET(tabelle2.id,tabelle1.material
GROUP BY date_format(tabelle1.datum,'%M'ORDER BY tabelle1.datum asc
Die Ergebnisse der Summen sind falsch. Also es kommt sowas raus wie 123, rauskommen müsste aber 89. Bsp.
PHP-Code:
tabelle2.wert*konstante4/100 as a  ist korrekt 
aber
PHP-Code:
 SUM(tabelle1.wert2)as y
und
PHP-Code:
SUM(tabelle1.wert3)*konstante3 as z
sind falsch.

Was ich möchte ist eine Übersichtstabelle pro Monat:
Januar | 123|99|876|77|
Februar | 13|199|86|7|
...
tsunami ist offline   Mit Zitat antworten
Alt 21.09.2011, 20:56  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.233
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Tja, wenn ich bei deinen Beispieldaten annehme dass die Spalte 5 in Wirklichkeit "wert2" heisst, dann kommt bei mir weder 123 noch 89 raus....

Führe den Select ohne group by und ohne gruppenfunktionen (select *) mal aus und gucke ob die ergebnismenge richtig gebildet wird. mehr ideen habe ich nicht. ohne beantwortung meiner fragen kann ich nicht weiterhelfen. Wenn du nicht in der Lage bist dein Problem so zu beschreiben, dass jemand der weder den Sinn deiner Spalten kennt noch den Namen noch die tabellenstruktur oder die konkreten Testdaten die exakt zu deinem Problem passen, dann kommst nicht weiter.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 22.09.2011, 18:07  
Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
tsunami befindet sich auf einem aufstrebenden Ast
Standard

Das sind Beispieldaten! Über den Sinn und zweck des Aufbaus kann mann sicherlich streiten. Es ist doch völlig egal wie die Spalte heisst oder was da genau für Werte rauskommen.

Meine Frage zielte ganz einfach auf die Grundsätzliche Frage ab, ob in der Abfrage ein Denkfehler ist. Die Abfrage selbst gibt keinen sql Fehler zurück, ist also syntaktisch korrekt. Beim kopieren kann es passieren, dass ich ein Komma oder sonstwas vergessen habe. Ist ja so, als wenn ich in die Werkstatt fahre und da sagt mir der KFZ Mensch: "Kein Wunder dass das Auto nicht läuft, der Zündschlüssel steckt ja nicht."

Also: Normalerweise habe ich in Tabelle 1 in der betreffenden Spalte einen Kommagetrennten string . Dieser string besteht aus kommagetrennten ids der Tabelle 2
Anhand dessen habe ich eindeutige ids aus der Tabelle 2. Daraus müsste ich doch die Summe der entsprechenden Zellen aus Tabelle2 bilden können, oder nicht?
Also bilde sumem über ale werte aus spalte x wo die ids der entsprechenden zeile in tabelle 2 auch in tabelle 1 stehen.
tsunami ist offline   Mit Zitat antworten
Alt 22.09.2011, 18:10  
Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
tsunami befindet sich auf einem aufstrebenden Ast
Standard

PS ohne groupby hatte ich schon. und auch ohne sum und mit group by.

Das einzige Fall, wo die ergebnisse richtig gebildet werden, ist wenn dass find_in_set weggelassen wird. Aber dann fehlt mir ein ergebnis.
tsunami ist offline   Mit Zitat antworten
Alt 22.09.2011, 18:14  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.233
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Nein, das ist nicht egal. Wie soll ich denn beurteilen, ob es richtig oder falsch ist, wenn du hier Phantasiedaten postest?
MySQL und SQL wird NIE Daten verfälschen. Und die haarsträubenden Bugs, wo das doch passiert, die kannst an einer Hand abzählen und sind garantiert nicht bei dir in deinem Select. Also hast du einen gewaltigen Denkfehler. Nur nochmal: Mit Phantasiedaten oder einem "Ist doch egal wie die Spalten heissen" nachzuvollziehen, was a) MySQL treibt, b) du willst und c) dann im SQL geändert werden muss, ne, das klappt nicht.

Und ich wiederhole mich nur einmal.

Zitat:
Zitat von mepeisen Beitrag anzeigen
Führe den Select ohne group by und ohne gruppenfunktionen (select *) mal aus und gucke ob die ergebnismenge richtig gebildet wird. mehr ideen habe ich nicht. ohne beantwortung meiner fragen kann ich nicht weiterhelfen. Wenn du nicht in der Lage bist dein Problem so zu beschreiben, dass jemand der weder den Sinn deiner Spalten kennt noch den Namen noch die tabellenstruktur oder die konkreten Testdaten die exakt zu deinem Problem passen, dann kommst nicht weiter.
Wenn du nun nicht vernünftig wirst, sorry, dann bin ich raus aus dem Thema. Dann bleib auf deinem Phantasie-Select und deinen Phantasie-Daten halt sitzen.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 22.09.2011, 18:42  
Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
tsunami befindet sich auf einem aufstrebenden Ast
Standard

Danke.
tsunami ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mit PHP eine Tabelle erstellen JamieFraser PHP Einsteiger 6 10.03.2011 14:40
Auswahlfeld erstellen dr.cox77 PHP Tipps 2010 8 19.11.2010 14:01
[Erledigt] Mysql - Query dynamisch erstellen - String zusammenfügen zoom PHP Tipps 2010 12 19.10.2010 13:50
Websiteteile vom User erstellen lassen magni PHP Tipps 2009 4 15.12.2009 11:17
Kleinen PHP Script "Bannerrotation" aus MySQL-Datenbank erstellen... ispvip PHP Tipps 2009 2 03.11.2009 09:01
PHP Ordner erstellen mit bestimmten Namen matzee PHP Tipps 2009 13 04.09.2009 11:45
[Erledigt] jpeg erstellen aus textstring erstellen Psydl PHP Tipps 2009 16 07.07.2009 18:54
[Erledigt] foreach schleife beim erstellen einer image_map schlägt fehl litterauspirna PHP Tipps 2009 8 25.05.2009 13:04
dta/dtaus-Datei mit Hilfe von PHP erstellen BartTheDevil89 PHP Tipps 2009 4 06.01.2009 14:25
Datei erstellen und schreiben - WICHTIG! MessengerNews! PHP Tipps 2006 12 13.08.2006 22:36
darf keine Datenbank erstellen in phpMyAdmin Datenbanken 2 20.10.2005 19:32
Tabellen erstellen mit einer install.php Datenbanken 2 27.07.2005 23:59
Stammbaum erstellen Riot PHP Tipps 2005 17 13.05.2005 16:32
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
Ordner per Skript erstellen --> Rechte Problem PHP Tipps 2004 2 06.07.2004 14:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum