Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Berechnung in MySQL-Query mit mehreren Tabellen

Mitglied: 58588

58588 (Level 1)

08.12.2007, aktualisiert 16:16 Uhr, 12085 Aufrufe, 3 Kommentare

Berechnung mit Werten aus verschiedenen Tabellen inerhalb des Querys

Hallo, also ich habe ein Problem mit einer MySQL Datenbankabfrage in PHP. Ich möchte alle Datensätze anzeigen
bei denen die Summe zweier Werte kleiner ist als die Userwerte. Die Informationen zu dem datensatz stehen
in einer Tabelle 'daten', die zu addierenden Zahlen stehen in einer anderen tabelle, welche mit der datentabelle verknüpft ist.
Die werte des Users der die Abfrage, sagen wir beispielsweise per Buttonklick auslöst stehen in der 'user' Tabelle.

Mein Aufbau:

Tabelle 'daten':

daten_id
werte_id
daten_beschreibung

Tabelle 'werte':

werte_id
daten_id
wert_01
wert_02

Tabelle 'user':

user_id
userwert_01
userwert_02


Meine Abfrage sollte irgendwie folgendes tun:
Gib mir alle Daten aus der Tabelle 'daten' bei denen Wert_01 + wert_02 kleiner ist als userwert_01 + userwert_02
Das einzige was ich als variable habe ist die user_id.

So mein Problem ist schonmal, wie spreche ich mehrer Tabellen gleichzeitig an?
Kann ich in einem SQL Query auch schon mit den Werten rechnen oder sollte ich einfach alle Werte auslesen und danach selektieren?
Was ist schneller, ein langer Query oder einen Berechnung in PHP?

So, mein Problem hab ich etwas vereinfacht, meine Berechnung sieht wesentlich komplexer aus, aber dann steigt man nicht gleich durch
und ich möchte ja auch das mir jemand hilft und nicht gleich schreiend davon rennt.

mfg
tobi
Mitglied: creyzee
08.12.2007 um 08:54 Uhr
guten morgen,

ich glaube, da fehlen noch ein paar angaben. welche datentypen haben die felder der tabellen? gibt es primärschlüssel?

ich geh mal von folgendem aus:

tabelle 'daten'
daten_id .. long .. primärschl.
werte_id .. long .. primärschl.
daten_beschreibung .. text

tabelle 'werte'
daten_id .. long .. primärschl.
werte_id .. long .. primärschl.
wert_01 .. long
wert_02 .. long

tabelle 'user'
user_id .. long .. primärschl.
userwert_01 .. long
userwert_02 .. long

und die tabellen 'werte' und 'daten' sind verknüpft? also bestimmt über 'daten_id' und 'werte_id'

dann könnte die sql-abfrage wie folgt lauten:

"SELECT daten.* FROM [user], daten INNER JOIN werte ON (daten.werte_id = werte.werte_id) AND (daten.daten_id = werte.daten_id) WHERE ((([wert_01]+[wert_02])<([user_01]+[user_02])));"

wobei hier folgendes problem auftritt: die werte 'user_01' und 'user_02' kommen aus der tabelle 'user'. dort stehen bestimmt mehrere werte drin. die abfrage soll aber bestimmt nur für einen user ausgeführt werden, oder? wenn das der fall ist, solltes du die berechnung des terms '([user_01]+[user_02])' unter php ausführen. es gibt nämlich keine beziehung zwischen den tabellen 'daten'/'werte' und 'user'. Das könnte dann so aussehen:

"SELECT daten.* FROM daten INNER JOIN werte ON (daten.werte_id = werte.werte_id) AND (daten.daten_id = werte.daten_id) WHERE ((([wert_01]+[wert_02])<" & (user_01+user_02) & "));"

ich kenne zwar die genaue syntax unter php nicht, aber so würde das sql-statement aussehen.

bis denne, der creyzee
Bitte warten ..
Mitglied: 58588
08.12.2007 um 10:36 Uhr
WOW, also ich bin begeistert, wie schnell man hier eine fachlich kompetente Antwort erhält!!! In anderen Foren wird erstmal darüber abgestimmt ob man nur zu dumm ist und ober man einer Antwort würdig ist. Wirklich Cool!!!

Vielen Dank creyzee. INNER JOIN werde ich mir wohl im MySQL Handbuch mal genauer anschaun, werde es heute gleich mal testen!!!

mfg
Tobi
Bitte warten ..
Mitglied: creyzee
08.12.2007 um 16:16 Uhr
hallo,

ist doch kein thema. sag bescheid, ob es so klappt bzw wenn du noch was brauchst.

der creyzee
Bitte warten ..
Ähnliche Inhalte
Server-Hardware
Klimaanlagen Berechnung
gelöst Frage von TheOnlyOneServer-Hardware7 Kommentare

Hallo zusammen, wir betreiben seit 2008 ein Rechenzentrum das damals von einer externen Firma geplant wurde. Hierbei stehen sich ...

Ausbildung
Berechnung Digitalisierung
gelöst Frage von AzubineAusbildung9 Kommentare

Guten Morgen, ich befinde mich in Umschulung zur FISI und werde meine Prüfung diesen Winter ablegen. Im Rahmen der ...

E-Mail
Postfix mag MySQL nicht mehr
Frage von StefanKittelE-Mail1 Kommentar

Hallo, ich habe hier einen älteren Debian 6 mit LAMP. Seit heute Morgen mag der Postfix nicht mehr mit ...

Windows 10
REG Query HKLM
Frage von AtoAtoWindows 103 Kommentare

Hallo mit REG Query HKLM /F "PC 12" /S In Powershell kann man in HKLM-Baum nach PC 12 suchen. ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 11 StundenDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 14 StundenSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 1 TagInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 2 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless21 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

Windows Server
Mac Rechner im Windows Netzwerk - was jetzt?
gelöst Frage von Kopfg3ldWindows Server18 Kommentare

Hallo zusammen, ich habe folgende Herausforderungen. Aber erst mal was kurz zum Netzwerk - Windows Server (ältester ist ein ...

Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...