Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MySQL Rätsel - mitmachen und was dabei lernen

    Matt

    • Experte
    • Beiträge: 4.241
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #15 am: 21. Mai 2012, 09:18:45
    #4: Wie bekomme ich die Anzahl der Artikel mit der Artikelnummer xyz ?

    Code: SQL  [Auswählen]
    SELECT products_quantity FROM products WHERE products_model='xyz'
    Shop Hosting

    vr

    • modified Team
    • Beiträge: 2.664
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #16 am: 21. Mai 2012, 13:01:09
    Sorry, meine Frage
    #1.5. Woher wisst ihr, wo die Artikelnummer steht?
    war nicht klar genug. Ich wollte darauf hinaus, dass ihr mal beschreibt, wie ihr vorgeht, wenn ihr nicht wisst, wo Daten untergebracht sind. Einsteiger gucken da erstmal wie's Schwein ins Uhrwerk.

    Daher hätte ich noch:

    Suche im Wiki verweist u.a. auf products, orders_products und products_attributes. Die letzten beiden scheiden aus, wenn man die Beschreibung der Tabellen gelesen hat. Also products, den Link hatte dokuman ja schon gepostet. Aber dem gehen halt einige Schritte voraus.

    Geht man über die Datenbankreferenz suchen, gibt es im Dunstkreis Artikel 15 Tabellen. Die schaut man sich an und schließt aus, was in dem gesuchten Fall nicht plausibel erscheint.

    Die Methode "Stadtrundfahrt in der DB mit phpmyadmin (oder anderen Tools)" hat den Vorteil, dass hier auch die Daten zu sehen sind, nicht nur die Metadaten der DB. Wenn man eine bestimmte Artikelnummer kennt, wird man sie hier in der entsprechenden Tabelle finden und hat damit Gewissheit, dass man die richtige Tabelle und das richtige Feld am Wickel hat.

    Wenn man das häufiger macht, kennt man sich irgendwann in der DB aus. Dann kann man auf die Frage #1 antworten, klaro, steht in products.products_model.

    Später fällt einem auf, Artikelnummer steht auch in orders_products, ist dort aber eine Kopie. Der Masterstand der Artikelnummer ist in products.
    Noch später sieht man Artikelnummer in products_attributes. Da ist es allerdings ein Artikelnummer-Zusatz.

    Grüße, Volker

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #17 am: 21. Mai 2012, 15:01:20
    @Matt
    100 Punkte genau so ='xyz' :)
    @vr
    Mach es hier mal mit den Links nicht zu einfach.

    Nächste Runde:
    #5: Wie bekommt man die products_id des zuletzt angelegten Artikels?
    Sonnigen Gruß aus dem Norden Deutschlands

    h-h-h

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #18 am: 21. Mai 2012, 15:07:23
    Die Methode "Stadtrundfahrt in der DB mit phpmyadmin (oder anderen Tools)" hat den Vorteil, dass hier auch die Daten zu sehen sind, nicht nur die Metadaten der DB. ......Wenn man das häufiger macht, kennt man sich irgendwann in der DB aus.

    Hallo,

    und es ist auch noch vom Vorteil das einem so ziemlich alle Aktionen auch als Befehl angezeigt werden.

    Gruß

    joern42

    • Fördermitglied
    • Beiträge: 41
    • Geschlecht:
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #19 am: 21. Mai 2012, 15:39:09
    Nächste Runde:
    #5: Wie bekommt man die products_id des zuletzt angelegten Artikels?

    Code: SQL  [Auswählen]
    SELECT products_id FROM products ORDER BY products_id DESC LIMIT 1;

    würde ich tippen.. (?)

    Matt

    • Experte
    • Beiträge: 4.241
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #20 am: 21. Mai 2012, 15:58:55
    #5: Wie bekommt man die products_id des zuletzt angelegten Artikels?

    Code: SQL  [Auswählen]
    SELECT MAX(products_id) FROM products

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #21 am: 21. Mai 2012, 16:27:25
    Sehr gut joern42 und Matt,
    beide Lösungen sind richtig und kürzer als die erwartete:

    Code: SQL  [Auswählen]
    SELECT products_id FROM products ORDER BY products_date_added DESC LIMIT 1;

    So wer stellt die nächste Frage?

    vr

    • modified Team
    • Beiträge: 2.664
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #22 am: 21. Mai 2012, 17:48:56
    Zitat
    Mach es hier mal mit den Links nicht zu einfach.
    Warum? Sollen die nicht bekannt sein? :whistle:

    Was liefert
    #6 SELECT * FROM products COUNT WHERE products_model LIKE '%xyz%'
    Grüße, Volker

    Matt

    • Experte
    • Beiträge: 4.241
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #23 am: 21. Mai 2012, 17:55:35
    #7 Wie bekommt man die Gesamtsumme der Bestellung #27.

    MW

    • Fördermitglied
    • Beiträge: 418
    • Geschlecht:
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #24 am: 21. Mai 2012, 18:08:00
    Zitat
    #6: Was liefert
    Code: SQL
    Code: SQL  [Auswählen]
    SELECT * FROM products COUNT WHERE products_model LIKE '%xyz%'

    Anzahl bzw. alle Artikel die xyz in der Artikelnummer haben. Das war meine Antwort auf die Frage von GTB da ich die Frage so (falsch) verstanden hatte.  :oops:

    vr

    • modified Team
    • Beiträge: 2.664
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #25 am: 21. Mai 2012, 19:04:45
    Hallo MW,

    ich hab Deine Antwort gebracht, weil sie einige interessante Sachen enthält. Zunächst mal läuft sie ohne Probleme durch, obwohl count eine MySQL-Funktion ist und eigentlich ein Fehler kommen müsste. Wenn man die Abfrage formatiert, wird klarer, was abläuft:

    Code: SQL  [Auswählen]
    SELECT *
    FROM products COUNT
    WHERE products_model LIKE '%xyz%'

    select *: man kriegt sämtliche Felder der Tabelle zurück.
    FROM products COUNT: abgefragt wird die Tabelle products, und jetzt kommts, count fungiert hier als Tabellenalias, wird aber nicht weiter benutzt. Normalerweise wird sowas FROM products AS COUNT notiert, das AS kann man aber auch weglassen. Ist egal, weil der Alias sowieso nicht benutzt wird. Du kriegst also die kompletten Sätze aus products, deren Feld products_model 'xyz' enthält. Damit hast Du nicht die Anzahl, ausser ein DB-Tool zählt die Sätze und zeigt Dir die Anzahl der Ergebnismenge an.

    Was Du wolltest, war

    Code: SQL  [Auswählen]
    SELECT COUNT(*)
    FROM products
    WHERE products_model LIKE '%xyz%'

    Grüße, Volker

    MW

    • Fördermitglied
    • Beiträge: 418
    • Geschlecht:
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #26 am: 21. Mai 2012, 19:22:21
    Danke Volker für die aufschlussreiche Erklärung zu dieser SQL Abfrage. Nach dem zweiten mal lesen hab ich's kapiert.   :thumbs:

    Zitat
    Damit hast Du nicht die Anzahl, ausser ein DB-Tool zählt die Sätze und zeigt Dir die Anzahl der Ergebnismenge an.

    Stimmt, phpMyAdmin zeigt dann halt die Menge der gefundenen Datensätze an.

    Q

    • Fördermitglied
    • Beiträge: 1.531
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #27 am: 21. Mai 2012, 19:30:36
    Einsteiger gucken da erstmal wie's Schwein ins Uhrwerk.

    Deswegen hab ich mir einfach mal die DB von modified eCommerce Shopsoftware und OSC ausgedruckt. Zum Glück musste ich mal einen Plotter testen und hab die auf A0 :D

    vr

    • modified Team
    • Beiträge: 2.664
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #28 am: 21. Mai 2012, 19:33:04
    #7 Wie bekommt man die Gesamtsumme der Bestellung #27.
    Matt, jetzt drückste aber auf die Tube  ;-) Ist mit #27 Bestell-id 27 gemeint oder die 27. Bestellung?

    Grüße, Volker

    Matt

    • Experte
    • Beiträge: 4.241
    Re: MySQL Rätsel - mitmachen und was dabei lernen
    Antwort #29 am: 21. Mai 2012, 20:54:17
    Die ID. Wir können aber auch wieder nen Gang runterschalten.
    9 Antworten
    2115 Aufrufe
    27. Dezember 2022, 13:02:52 von lachralle
    10 Antworten
    5218 Aufrufe
    25. September 2011, 17:53:01 von h-h-h
    5 Antworten
    4440 Aufrufe
    26. Februar 2012, 13:11:38 von Webcom
    7 Antworten
    6341 Aufrufe
    21. April 2012, 18:07:41 von Sick
               
    anything