Verschiedene Fragen zu MySQL

Diskutiere und helfe bei Verschiedene Fragen zu MySQL im Bereich Webmaster Support, Scripts, etc im SysProfile Forum bei einer Lösung; Jetzt will ich auch gerne das letzte Problem wissen :o Dieses Thema im Forum "Webmaster Support, Scripts, etc" wurde erstellt von gemini, 17. Mai 2010.

  1. gemini
    gemini Wandelnde HDD
    Themenstarter
    Registriert seit:
    26. Juli 2007
    Beiträge:
    7.013
    Zustimmungen:
    516
    1. SysProfile:
    33171
    2. SysProfile:
    143510

    Jetzt will ich auch gerne das letzte Problem wissen :o
     
  2. McAtze
    McAtze Alter Hase
    Registriert seit:
    1. Januar 2009
    Beiträge:
    2.116
    Zustimmungen:
    88

    Zuerst mal die Lösung ..

    Ich habe bei dem Ansprechen der DB einen Fehler gemacht. Ich hatte erst in jeder .php die DB Verbindungen geschrieben. Und da habe ich eine andere DB zum schreiben angesprochen als die zum lesen .. :o

    Nun habe ich über das include "config.php"; die richtige Erwischt ..

    Und habe auch mal in der DB nachgesehen .. 830 Spam Posts schon drin.

    Daher nun das aktuelle Prob .. reCAPTCHA ..
     
  3. gemini
    gemini Wandelnde HDD
    Themenstarter
    Registriert seit:
    26. Juli 2007
    Beiträge:
    7.013
    Zustimmungen:
    516
    1. SysProfile:
    33171
    2. SysProfile:
    143510
    Und was für ein Problem hast du dabei jetzt genau?
     
  4. McAtze
    McAtze Alter Hase
    Registriert seit:
    1. Januar 2009
    Beiträge:
    2.116
    Zustimmungen:
    88
    Puhhh .. reCAPTCHA ist raus und die Simple Sicherheitsfrage ist drin und es läuft .. :yipi:

    Jetzt muss ich nur die Errormessage in Form bringen .. :o .. kann ich einfach bspw.

    PHP:
    die header('Location: error.php');
    wenn die Frage falsch ist ..

    Freue mich natürlich über Kommantare .. ;)


    Achja und natürlich Vielen Dank für die tatkräftige Hilfe .. :great:
     
  5. gemini
    gemini Wandelnde HDD
    Themenstarter
    Registriert seit:
    26. Juli 2007
    Beiträge:
    7.013
    Zustimmungen:
    516
    1. SysProfile:
    33171
    2. SysProfile:
    143510
    So jetzt habe ich mal wieder eine Frage :D

    Vereinfachter Tabellenaufbau:

    Tabelle A (Beiträge)

    ID | Beitrag ....

    1 | 1. Beitrag
    2 | 2. Beitrag
    3 | 3. Beitrag
    4 | 4. Beitrag

    Tabelle B (Beitragsänderungen)

    Beitrags-ID | Änderungsgrund | Zeit ...

    1 | 1. Grund | 1283364099
    1 | 2. Grund | 1283374099
    1 | 3. Grund | 1283374100
    3 | 4. Grund | 1283375100
    2 | 5. Grund | 1284374100
    2 | 6. Grund | 1293374100

    So jetzt will ich die Beiträge abfragen und gleichzeitig die letzte Änderung mit ausgeben.
    Nur wie mache ich das?

    Das Verbinden der Tabellen mit Hilfe von LEFT JOIN ist ja nicht schwer, nur wie bekomme ich jetzt jeweils nur die letzte Änderung zum dazugehörigen Beitrag ausgegeben und nicht alle?
     
  6. Crazy Sniper
    Crazy Sniper Lebende CPU
    Registriert seit:
    24. Februar 2007
    Beiträge:
    1.574
    Zustimmungen:
    50
    1. SysProfile:
    20033
    Versuchs mal mit MAX(Zeit) sprich;

    SELECT TA.ID, TB.Änderungsgrund, MAX(TB.Zeit)
    FROM TA LEFT JOIN TB
    ON TA.ID = TB.Beitrags-ID

    oder iwi sowas:


    SELECT TA.ID, TB.Änderungsgrund, TB.Zeit
    FROM TA LEFT JOIN TB
    ON TA.ID = TB.Beitrags-ID
    WHERE TB.ZEIT = (SELECT TB.ID, MAX(Zeit) FROM TB);

    sry bin nicht mehr so drin, müsste aber etwas in der richtung sein :S
     
    #51 Crazy Sniper, 7. September 2010
  7. gemini
    gemini Wandelnde HDD
    Themenstarter
    Registriert seit:
    26. Juli 2007
    Beiträge:
    7.013
    Zustimmungen:
    516
    1. SysProfile:
    33171
    2. SysProfile:
    143510
    Klappt leider beides nicht, es wird bei beiden dadurch nur ein Eintrag ausgegeben.
    Aber kann das mit einer WHERE-Bedingung überhaupt funktionieren? Es gibt ja nicht immer einen passenden Eintrag in der Änderungstablelle und trotzdem soll der Beitrag angezeigt werden.
     
  8. Crazy Sniper
    Crazy Sniper Lebende CPU
    Registriert seit:
    24. Februar 2007
    Beiträge:
    1.574
    Zustimmungen:
    50
    1. SysProfile:
    20033
    da muss man mit der Syntax spielen, ich versuchs mal ob ich was gebastelt krieg
     
    #53 Crazy Sniper, 7. September 2010
  9. McAtze
    McAtze Alter Hase
    Registriert seit:
    1. Januar 2009
    Beiträge:
    2.116
    Zustimmungen:
    88
    SELECT TA.Beitrag, TB.Änderungsgrund, TB.Zeit
    IF (TB.Änderungsgrund <> ' ', TA.Beitrag, TB.Änderungsgrund)
    FROM TA LEFT JOIN TB
    ON TA.ID = TB.ID;

    So oder so ähnlich müsste es gehen ..
     
    1 Person gefällt das.
  10. Crazy Sniper
    Crazy Sniper Lebende CPU
    Registriert seit:
    24. Februar 2007
    Beiträge:
    1.574
    Zustimmungen:
    50
    1. SysProfile:
    20033
    So, jetzt aber:

    SELECT TA.ID, TA.Beitrag, TB.Grund, TB.Zeit
    FROM TA LEFT JOIN TB ON TA.ID = TB.BeitragsID
    WHERE TB.Zeit = (SELECT MAX(Zeit) FROM TB WHERE TB.BeitragsID = TA.ID) OR NOT EXISTS (Select * FROM TB WHERE TB.BeitragsID = TA.ID);

    Ist sicherlich nicht die eleganteste und einfachste Methode ABER sie funzt ^^
     
    #55 Crazy Sniper, 8. September 2010
  11. gemini
    gemini Wandelnde HDD
    Themenstarter
    Registriert seit:
    26. Juli 2007
    Beiträge:
    7.013
    Zustimmungen:
    516
    1. SysProfile:
    33171
    2. SysProfile:
    143510
    @McAtze

    Bei deiner Lösung bekomme ich leider nur eine zusätzliche Tabellenspalte angezeigt, es bleibt aber bei dem einen angezeigten Beitrag.

    @Crazy Sniper

    Vielen Dank!
    Funktioniert super, auch wenn es nicht die eleganteste Lösung sein sollte ;)

    Ein R+ McAtze und bei dir Crazy Sniper muss ich leider erst einige andere Beiträge bewerten, bekommst deins also später ;)
     
  12. Crazy Sniper
    Crazy Sniper Lebende CPU
    Registriert seit:
    24. Februar 2007
    Beiträge:
    1.574
    Zustimmungen:
    50
    1. SysProfile:
    20033
    Jetzt habe ich aber mal ne Frage :p Ich hab das Problem dass Access mir die SQL Abfrage komische geordnet rausspuckt...

    in der Tabelle stehen die ID's wie folgt:
    42
    HD_10
    999
    PC_10

    wenn ich dann eine normale SQL anfrage mache mit "WHERE ID = '42' OR ID = 'PC_10' OR ID = 'HD_10' OR ID = '999'" dann bekomme ich als Reihenfogle:

    999
    42
    HD_10
    PC_10

    unabhängig davon an welcher Stelle die Werte in der Abfrage stehen, egal ob z.B. "ID = '999'" an erster oder an letzter Stelle steht, es ist IMMER an erster Stelle beim Resultat :( GROUP BY, bzw. SORT BY kann ich nicht benutzen da die ID's die eingegeben werden nicht alphabetisch geordnet sind.
    Die Reihenfolge muss aber deshalb gleichbleiben weil ich die Anfrage in Excel exportiere und dort dann die Menge steht... Dann wird aus 4x PC_10 dann 4x HD_10 :(

    Hat wer eine Idee voran das liegen kann, bzw. wie man das beheben kann?
     
  13. OpCodez
    OpCodez Grünschnabel
    Registriert seit:
    11. September 2010
    Beiträge:
    3
    Zustimmungen:
    1
    Hallo.

    Das liegt schlicht und einfach daran, dass SQL eine nicht-prozeduale Sprache ist. Das bedeutet du definierst gewünschte Ergebnisse, der Prozess selber liegt bei SQL. Abgesehen davon wird natürlich der gesamte OR Block als EIN boolescher ausdruck ausgewertet. Folglich sucht SQL nicht nach einem Datensatz, der darauf zutrifft, sondern im Gegenteil: es prüft einfach bei jedem Datensatz ob er zutrifft. Du wirst also ohne ein ORDER BY/GROUP BY Statement NIEMALS eine festgelegte Reihenfolge aus der Datenbank kitzeln können.

    Warum du hier kein ORDER BY einsetzen kannst, verstehe ich nicht ganz. In welcher Reihenfolge möchtest du es haben?
    (abgesehen davon, dass es natürlich nicht gerade guter stil ist, IDs mit alphanumerischen Zeichen zu füllen)

    Hinweis durch einen Moderator:
    Wie du in unseren Regeln nachlesen kannst, ist das Zitieren von direkt vorangehenden Beiträgen nicht gestattet ist. Achte in Zukunft darauf. ~McAtze
     
    #58 OpCodez, 11. September 2010
    Zuletzt von einem Moderator bearbeitet: 11. September 2010
    1 Person gefällt das.
  14. Crazy Sniper
    Crazy Sniper Lebende CPU
    Registriert seit:
    24. Februar 2007
    Beiträge:
    1.574
    Zustimmungen:
    50
    1. SysProfile:
    20033
    das ganze ist nur eine kleine Testdatenbank deswegen auch die ID's ;)

    Und ich kein deshalb kein ORDER BY einsetzen, weil der User die ID's nicht in irgendeiner Reihenfolge eingibt sondern wild durcheinander, wie sie im grade in den Kopf kann, mal grob gesagt. Und da das ganze aus einem Excelsheet eingegeben wird mit der Menge der Artikel stimmt dann nach der SQL-Abfrage die Menge nicht mehr mit der ID überein, weil SQL sie durcheinander wiedergibt.

    Dann scheint man dann wohl nix mit SQL da machen zu können, dann kreppel ich eben das Ergebnis nachher so um dass es dann wieder passt, danke für deine Hilfe :)
     
  15. OpCodez
    OpCodez Grünschnabel
    Registriert seit:
    11. September 2010
    Beiträge:
    3
    Zustimmungen:
    1
    Da ich ja hier nicht quoten darf, muss ich wohl anders bezug auf deinen post nehmen.

    Also, die reihenfolge der Eingabe, bzw die Reihenfolge der einzelnen rows in der Datenbank spielt keine Rolle für die ausgabe. Das heißt wenn die Datenbank vielleicht so vorliegt:

    Code:
    ________________________________
    |   ID   |     anzahl    |
    -----------------------------
    |    1   |       15       |
    -----------------------------
    |    9   |      300      |
    -----------------------------
    |   4    |       3         |
    -----------------------------
    
    Könntest du mittels SELECT anzahl, id FROM x ORDER BY ID DESC diese ausgabe erreichen

    Code:
    _______________________________
    |   ID   |        anzahl   |
    -----------------------------
    |    1   |          15      |
    -----------------------------
    |    4   |         3         |
    -----------------------------
    |   9    |          300    |
    -----------------------------
    
    Es werden natürlich gesamte rows sortiert, nicht nur die Spalte ID. Keine Ahnung ob ich dein problem richtig verstanden habe, aber es gibt kaum etwas, das man nicht mit einem geschickten SQL Query lösen kann ;)
     
Thema:

Verschiedene Fragen zu MySQL

Die Seite wird geladen...

Verschiedene Fragen zu MySQL - Similar Threads - Verschiedene Fragen MySQL

Forum Datum

Windows, mehrere Monitore, verschiedene Auflösungen: Anwendungen springen?

Windows, mehrere Monitore, verschiedene Auflösungen: Anwendungen springen?: Hallo, Ich habe z.Zt. einen 28'' Monitor mit 4K Auflösung als primären Monitor und einen 24'' mit FullHD Auflösung als sekundär Monitor. Alles funktioniert prima, aber...: Wenn ich auf dem 24''...
Monitore, TV-Geräte & Beamer 13. Oktober 2021

Sind das 2 verschiedene Tabs?

Sind das 2 verschiedene Tabs?: Hi, ich möchte mir ne Radeon RX 6800 XT zulegen. da die aber bei den AMd Drops immer sehr schnell ausverkauft sind habe ich mir das Addon Multi Account Containers im Mozilla Browser runtergeladen....
Prozessoren 13. Oktober 2021

Zwei verschiedene Grafikkarten für einen PC?

Zwei verschiedene Grafikkarten für einen PC?: Hallo zusammen, mir ist soeben aufgefallen, dass ich noch eine GTX 960 in meinem alten PC habe. Lässt sich diese zusätzlich zu meiner 1060 in meinen jetzigen PC einbauen und damit auch die...
Grafikkarten 1. Oktober 2021

Welcher Monitor für Forza, F1 und verschiedene Shooter Games?

Welcher Monitor für Forza, F1 und verschiedene Shooter Games?: Was ist der beste Monitor für Racing Games wie F1 und Forza (Motorsport und Horizon) und Shooter games wie Cod Modern Warfare, Rainbow Six Siege, Ghost Recon Wildlands usw ? Ich meine so ungefär...
Monitore, TV-Geräte & Beamer 5. September 2021

Programme auf verschiedenen Gpu laufen lassen?

Programme auf verschiedenen Gpu laufen lassen?: Hallo . Meine Frage ist einfach und Simpel.... Wie kann ich einen Programm zuweisen auf der gpu 0 zu laufen oder auf der gpu 1 Beispiel : Auf der Gpu 1 soll obs steam twitch etc laufen und auf...
Grafikkarten 17. August 2021

JavaScript verschiedene CPUs = unterschiedliche Ergebnisse?

JavaScript verschiedene CPUs = unterschiedliche Ergebnisse?: Habe einen sehr langen Algorithmus geschrieben. Leider gibt es da ein Problem: Bei mir funktioniert der Algorithmus tadellos (Win10, AMD 5950x, Chrome) Bei einem Bekannten wirft er einen Fehler...
Prozessoren 28. Juli 2021

Kann ich 2 verschiedene Grafikkarten auf 2 verschiedene Monitoren benutzen?

Kann ich 2 verschiedene Grafikkarten auf 2 verschiedene Monitoren benutzen?: Guten Tag. Ich habe eine RX 5700 XT in meinem PC verbaut. Aber habe noch eine alte "gigabyte Nividia gv-nx66128dp" übrig. Es wäre doch eine gute Idee die reinzubauen und dann 2 Monitore zu nutzen,...
Grafikkarten 25. Juli 2021

2 verschiedene Monitore an eine Vesa Doppel Halterung?

2 verschiedene Monitore an eine Vesa Doppel Halterung?: Hi, ich habe derzeit 2 24zoll Monitore zusammen an einer Dual Vesa Halterung. Nun wollte ich den einen Monitor, mit einem etwas größerem 4k Monitor austauschen. Aber 1. Sind die Monitore dann ja...
Monitore, TV-Geräte & Beamer 22. Juni 2021

2 verschiedene Grafikkarten zusammen?

2 verschiedene Grafikkarten zusammen?: Moin! Bin relativ neu in der pc Szene. Ich weiß das es setups mit zb 2x 3080 gibt. Ich frage mich ob ich sagen wir auch meine 1060 mit einer ganz anderen Grafikkarte zusammen verbauen kann und...
Grafikkarten 27. Mai 2021

Mehrere Bildschirme, verschiedene Hintergründe?

Mehrere Bildschirme, verschiedene Hintergründe?: Hallo zusammen, geht das, dass ich 2 Bildschirme habe und dass ich auf jedem einen anderen Hintergrund habe, falls ja, wie? LG...
Monitore, TV-Geräte & Beamer 26. Mai 2021

Verschiedenen Ram kombinieren?

Verschiedenen Ram kombinieren?: Guten Tag, ich habe momentan in meinem PC 16GB Ram mit 2800MHz drin (2x 8GB G-Skill) Ich wollte mir dazu nochmal 2x 16GB Ram holen von Corsair. Was passiert wenn ich 32GB Ram mit 3200 MHz drin...
Mainboards 24. Mai 2021

2 verschiedene AMD Karten, Treiber?

2 verschiedene AMD Karten, Treiber?: Hey, also ich hab zwei verschiedene GPUs von AMD und will wissen ob bzw. wie man zwei verschiedene treiber dafür installieren kann. https://www.gutefrage.net/frage/2-verschiedene-amd-karten-treiber
Grafikkarten 6. Mai 2021

Kann ich Monitore mit verschiedener Bildwiederholrate betreiben?

Kann ich Monitore mit verschiedener Bildwiederholrate betreiben?: Kann ich an einem Rechner ein 60HZ und 144HZ Monitor hängen und die auch in ihrer Geschwindigkeit Anzeigen lassen oder muss sich der 144HZ Monitor auf 60HZ runter regeln?...
Monitore, TV-Geräte & Beamer 1. Mai 2021
Verschiedene Fragen zu MySQL solved
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden