php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-02-2010, 15:41
Pebbles123
 Registrierter Benutzer
Links : Onlinestatus : Pebbles123 ist offline
Registriert seit: Nov 2009
Beiträge: 13
Pebbles123 befindet sich auf einem aufstrebenden Ast
Standard Problem mit Abfrage erstellung

Hi

ich suche gerade einen Weg wie ich eine Berechnung am schnellsten mit einer SQL Abfrage lösen kann statt einer langsamen Berechnung...

Ich habe 3 Tabellen:
1. Tabelle beinhaltet die Tiere mit Tierart und BesitzerIndex
2. Tabelle behinhaltet die Tierarten und was diese pro Tag fressen (in kg)
3. Tabelle behinaltet die verschiedenen Futtersorten je Tierart mit unterschiedlichen Futtermengen und deren Preis.

bsp:
Tabelle 1:
User=1, Tierart 1
User=1, Tierart 1
User=1, Tierart 2
User=1, Tierart 3
User=1, Tierart 3

Tabelle 2:
Tierart1, 5kg
Tierart2, 2kg
Tierart3, 10kg

Tabelle 1
Futter1, Tierart1, 5kg, 4EUR
Futter2, Tierart1, 10kg, 9EUR
Futter3, Tierart2, 2kg, 2EUR
Futter4, Tierart2, 4kg, 5EUR
Futter5, Tierart3, 10kg, 9EUR

Jetzt möchte ich ausrechnen was User1 pro Tag an Futterkosten hat. Spontan würde ich jetzt eine Schleife mache über alle Tiere des Users 1, pro Tier mir raussuchen was es an Futter pro Tag braucht, dann was das jeweilige Futter kostet und das dann zusammenaddieren. Aber gibts hierfür nicht eine SQL Abfrage die das schon vielleicht für mich tut oder eventuell mit einige Schritte zusammenfassen kann? Bisher hab ich nur mit Abfragen auf eine Tabelle gearbeitet und keine Erfahrung mit übergreifenden Abfragen...
Mit Zitat antworten
  #2 (permalink)  
Alt 21-02-2010, 15:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

schau dir mal im MySQL-Handbuch die JOIN Syntax an und die Beispiele dazu. Dann bekommst du sicher eine Idee, wie du das für deine Tabellen anwenden kannst.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 21-02-2010, 15:57
Pebbles123
 Registrierter Benutzer
Links : Onlinestatus : Pebbles123 ist offline
Registriert seit: Nov 2009
Beiträge: 13
Pebbles123 befindet sich auf einem aufstrebenden Ast
Standard

Danke für den Tip, gibts auch was das er automatisch sachen zusammenzählt und addiert? zb User hat 3 Katzen und dauers ergibt sich 3x3EUR kosten?
Mit Zitat antworten
  #4 (permalink)  
Alt 21-02-2010, 16:00
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Ja, man kann mit der SQL auch rechnen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 21-02-2010, 17:41
Pebbles123
 Registrierter Benutzer
Links : Onlinestatus : Pebbles123 ist offline
Registriert seit: Nov 2009
Beiträge: 13
Pebbles123 befindet sich auf einem aufstrebenden Ast
Standard

kann mir einer einen kurzen Tip geben wie ich die Abfrage aufbauen muss, ich hab jetzt einige Varianten durch, aber ich schaff irgendwie immer nur 2 Tabellen miteinander zu verknüpfen und wenn ich versuch die 3. mit reinzubringen krieg ich nen Knoten im Gehirn. Ich bin schonmal soweit, daß er mir die Tieranzahl für einen User je Tierart berechnet:

SELECT UserIndex, AnimalTyp, COUNT(AnimalTyp) anzahl FROM useranimals WHERE UserIndex=1 GROUP BY AnimalTyp

Wie bekomme ich jetzt da die dazugehörige Futtersorte und dessn preis mit rein? Oder geht das nicht? Es muss ja jetzt in der einen Tabelle geschaut werden wieviel kg das Tier benötigt und dann in der 3. Tabelle die dazugehörige Futterart mit Preis ausgewählt werden... mir würde es auch reichen wenn erstmal nur das in der Tabelle rauskäme, die letztliche Berechnung Anzahl*Preis kann ich dann ja auch in einer Schleife machen...

Geändert von Pebbles123 (21-02-2010 um 17:45 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 21-02-2010, 19:14
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Was ich nicht verstehe: Warum steht die Menge in Tabelle 2 und Tabelle 3? Ich würde es ja so machen:

Tabelle Tierart: ID, Name, Futtereinheiten (pro Tag)
Tabelle Halter: ID, Name
Tabelle Futter: ID, Name, Tierart-ID, Preis (pro Futtereinheit in Euro)
Tabelle Haltung: ID, Halter-ID, Tierart-ID, Anzahl (Tiere)

Wenn ich jetzt wissen will, wieviel ein Halter pro Tag an Futterkosten ausgeben muss, könnte ich es so schreiben:

Code:
select
	`Halter`.`Name`,
	`Tierart`.`Name`,
	`Futter`.`Name`,
	`Futter`.`Preis` * `Tierart`.`Futtereinheiten` * `Haltung`.`Anzahl` as `PreisProTag`
from `Haltung`
join `Halter` on `Halter`.`ID` = `Haltung`.`HalterID`
join `Tierart` on `Tierart`.`ID` = `Haltung`.`TierartID`
join `Futter` on `Futter`.`TierartID` = `Tierart`.`ID`
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Erstellung des Gästebuchs (Anfänger) fre4k PHP Developer Forum 13 07-08-2005 21:02
Problem bei der Erstellung einer Tabelle pascaluhlmann SQL / Datenbanken 11 18-05-2005 21:34
Erstellung einer Tabelle mit Abfrage seppwert Projekthilfe 17 14-01-2005 14:28
Problem mit Funktion zur Erstellung einer select-Liste daFish PHP Developer Forum 7 09-03-2004 19:07
Problem mit Menue-Erstellung aus DB Phil98 SQL / Datenbanken 4 12-10-2003 11:46

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:59 Uhr.