Datenbank 2 Felder Dautm, Zeit minus 2 Stunden

  • Hallo
    WIe kann ich 2 getrennte Felder nähmlich Datum und Zeit bei einer select abfrage als ein Feld behandeln. Ich möchte eine Abfrage erstellen welche nur die letzten 2 Stunden anzeigt, Diese abfrage will nicht so recht

    SQL
    SELECT * FROM `Fahrten` WHERE `DatumHin` and `ZeitHin` < (now() - 60*120) and Status =0
  • Schon mal nach MYSQL - Abfragen im Netz gesucht ?

  • Zitat von "Eisenbahner"
    SQL
    SELECT * FROM `Fahrten` WHERE `DatumHin` and `ZeitHin` < (now() - 60*120) and Status =0


    Das kann doch nichts werden

    Code
    WHERE `DatumHin`

    dann geht es weiter mit and.
    Du hast keine Bedingung für

    Code
    `DatumHin`

    formuliert.
    Setze dich bitte mit SQL auseinander. Das Netz ist voll damit.

  • bladekiller  frosch2 wenn Ihr nicht helfen könnt wozu der Zeitaufwand für den Text eine wirkliche Hilfe wär eigendlich gewesen wenn ihr zumindest
    einen Ansatz geliefert hättet aber vermutlich ist eure kenntnis auch nicht bersser als meine oder Ihr seid Abgehoben und macht euch lustig wenn wer fragt.Was macht ihr da im Forum dann?? Das kommt mir so vor wenn ein verletzter auf der Strasse liegt und Ihr zuerst das Ipad raus nehmt und Googlt nach was weil einer auf der Strasse verletzt liegt GOOGLE: WAS TUN DA LIEGT EIN VERLETZTER AUF DER STRASSE HILFE.


    ich habe jetzt nochmals nachgegooglt ich finde zwar alles mögliche wenn das Datum zeit ein Feld wäre ich habe jedoch 2 DatumHin Zeithin als 2 Felder und möche jetzt nur die letzten 2 Stunden anzeigen lassen.Ich glaube das ich die beiden Felder irgendwie zusammenziehen muss aber wie ich finde nichts zu dem Thema wüste auch nicht nach was ich genau suchen sollte damit ich genau dieses ergebnis bekomme.
    Das dass nichts wird ist mir klar darum wollte ich ja wissen wie ich die Abfrage machen soll

    SQL
    SELECT * FROM `Fahrten` WHERE `DatumHin` <=> / (?)  ...... and `ZeitHin` < (now() - 60*120) and Status =0


    Goole suche
    sql zeit datum selektieren
    Zeit datum 2 Felder Sql
    wie Datenbankfelder zusammenfügen

  • Zitat von "Eisenbahner"

    Was macht ihr da im Forum dann??


    Wenn du aufmerksam warst, wirst du festgestellt haben, dass das zwei Moderatoren sind, die dich dezent darauf hinweisen wollten, dass du hier mit deiner Frage im vollkommen verkehrten Forum bist. (QNAP-NAS != SQL-Datenbank)

    Zitat von "Eisenbahner"

    Das kommt mir so vor wenn ein verletzter auf der Strasse liegt und Ihr zuerst das Ipad raus nehmt und Googlt nach was weil einer auf der Strasse verletzt liegt GOOGLE: WAS TUN DA LIEGT EIN VERLETZTER AUF DER STRASSE HILFE.

    Nach dieser Aussage gehst du wahrscheinlich zu deinem Autohändler und fragst ihn, wie man Goulaschsuppe zubereitet, nur weil du das Fleisch dazu grad im Kofferraum zu liegen hast. :mrgreen:


    Mal im Ernst: Hier ist ein Forum zu QNAP-spezifischen Themen. Deine Frage ist 1000% besser in einem Forum aufgehoben, welches sich mit SQL-relevanten Themen beschäftigt. Und das ist wirklich nicht böse gemeint sondern einfach eine Tatsache.
    Wenn du Probleme hättest, die Datenbank auf dem NAS zum laufen zu bringen, dann würde das thematisch noch hierher gehören.

  • Hi Eisenbahner,
    erst bei deinem 2. Post konnte ich nachvollziehen, was du eigentlich willst.
    Obwohl ich mich oft mit SQL auseinandersetzen muss, kann ich deine Frage erst nach etwas INet-Suche beantworten bzw. es versuchen.

    SQL
    SELECT *, CONCAT(DatumHin, ' ', ZeitHin) AS DatumZeitHin FROM Fahrten WHERE (DatumZeitHin >= DATE_SUB(NOW(), INTERVAL 120 MINUTE))


    Kurze Erklärung:
    Mit CONCAT bekommt man aus 2 Feldern 1 Feld, bitte beachten das zwischen ' ' ein Leerzeichen ist. Keiner der Werte in der Tabelle darf leer sein.
    Das neue Feld wird in die Variable 'DatumZeitHin' geschrieben. Anschließend wird das Ergebnis eingeschränkt. 'DatumZeitHin muss größer oder gleich jetzt minus 2h sein.


    Ich habe die Abfrage nicht getestet, zumindest sollten dir CONCAT und INTERVAL helfen, zum Ziel zu kommen.
    Kleiner Hinweis: Oft wird aus Faulheit SELECT * verwendet. Besser ist SELECT Feld2, Feld5, Feld8. Nur die Felder aufnehmen, die man wirklich braucht. das spart Ressourcen.


    PS: Kritik an meiner Person, ob als User oder Mod, oder an meinen Beiträgen ist willkommen und dessen nehme ich mich gerne an.
    Vergleiche über, mit Unfallopfern finde ich widerwärtig.

  • Hallo
    frosch2,dr_mike
    Vorerst mal danke, jetzt kann ich wieder weiter machen bzw suchen das Wort Concat habe ich noch nie gesehen . frosch du wustet wohl nachwas Du suchen könntest oder musst

    Zitat

    .....etwas INet-Suche beantworten bzw. es versuchen.

    bin im nachhinein ganz froh das es nich so einfach gewesen ist.
    Select * in meinen Fall benötige ich alle Felder bis auf eines da es eine Liste zum Anzeigen werden soll, Sonst mache ich das sowieso immer mit Feld5,Feldx,...
    Danke frosch hast mir geholfen.
    Kritik naja der Vergleich mit den Unfallopfern war wohl nicht zutreffend aber, in den Foren welche gut besucht sind bekommt man meist blöde Antworten wie Grundlagen lesen, Googlen, ETC,.. Das Zipft mich an, wenn man die Antwort auf eine Fragestellung weis dann ist es der selbe Zeitaufwand wenn man Hilfestellung leistet oder nur blöd seinen Komantar dazuschreibt nur damit die Threadpunkte in die höhe gehen.In den letzten 2 Jahren nimmt das bereits Formen an wo ich mich frage wozu ist ein Forum eigentlich da? Um blöde Antworten zu verzapfen oder um konkrete treffnende Antworten, Hilfestellung zu geben.Im PHP.de Forum glauben die Moderatoren Sie seinen die übertrüber Menschen 50% der threads sind Grundlagen lesen zuerst Googlen dann fragen.Daher meide ich so Arogante seiten.und bin halt hier gelandet.
    Aber ich frage eh nur mehr wenn ich ein Problem mit meinen Qnap TS-210 habe.
    Danke