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: SQL Frage

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    SQL Frage
    am: 08. Mai 2014, 11:18:19
    Hier im Forum findet man eine order_export.php in der ein SQL statement ist, das ich um ein Feld erweitern möchte ...

    Wie bekomme ich da nach das Feld Kundennummer rein? (Vorzugsweise zwischen "Bestelldatum" und "Name des Käufers")
    Code: SQL  [Auswählen]
    SELECT orders.orders_id AS Bestellnummer,
    orders.date_purchased AS Bestelldatum,
    orders.customers_name AS 'Name des Käufers',
    orders.customers_telephone AS Telefonnummer,
    orders.customers_email_address AS 'E-Mail-Adresse',
    CONCAT(orders.delivery_company,'\r\n',orders.delivery_name,'\r\n',orders.delivery_street_address,'\r\n',orders.delivery_country_iso_code_2,' ',orders.delivery_postcode,' ',orders.delivery_city) AS Versandadresse,
    CONCAT(orders.billing_company,'\r\n',orders.billing_name,'\r\n',orders.billing_street_address,'\r\n',orders.billing_country_iso_code_2,' ',orders.billing_postcode,' ',orders.billing_city) AS Rechnungsadresse,
    orders_status.orders_status_name AS STATUS,
    format(orders_products.products_quantity,0) AS Anzahl,
    orders_products.products_id AS 'Artikel-ID',
    orders_products.products_model AS Artikelnummer,
    orders_products.products_name AS Artikel,
    (SELECT GROUP_CONCAT(DISTINCT CONCAT( products_options,' : ', products_options_values) ORDER BY products_options ASC SEPARATOR '\r\n') FROM orders_products_attributes WHERE orders_id=orders.orders_id AND orders_products_id=orders_products.orders_products_id GROUP BY orders_id) AS Attribute,
    REPLACE(REPLACE(format(orders_products.products_price ,2),',',''),'.',',') AS Artikelpreis,
    REPLACE(REPLACE(format((orders_products.products_quantity * orders_products.products_price),2),',',''),'.',',') AS 'Gesamtpreis',
    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(orders.payment_method,'cod','Nachnahme'),'eustandardtransfer','Vorkasse'),'paypal','PayPal'),'pn_sofortueberweisung','SofortÜberweisung'),'billpay','Billpay') AS Zahlungsmethode,
    REPLACE(REPLACE(total1.class ,'ot_shipping','Normalversand'),'ot_cod_fee','Nachnahme') AS Versandart,
    REPLACE(REPLACE(format(total1.value , 2),',',''),'.',',') AS Versandkosten,
    REPLACE(REPLACE(REPLACE(total2.class ,'ot_shipping','Normalversand'),'ot_cod_fee','Nachnahmegebühr'),'','Keine Nachnahme') AS `Nachnahmegebühr`,
    REPLACE(REPLACE(format(total2.value,2),',',''),'.',',') AS Nachnahmewert
    FROM orders_total total1
    LEFT JOIN orders_total total2
    ON total1.orders_id = total2.orders_id
    AND total2.class = 'ot_cod_fee'
    JOIN orders
    ON orders.orders_id = total1.orders_id
    JOIN orders_products
    ON orders_products.orders_id = orders.orders_id
    JOIN orders_status
    ON orders.orders_status = orders_status.orders_status_id
    WHERE total1.class = 'ot_shipping'
    AND orders_status.language_id=".$_SESSION['languages_id']."
    ORDER BY orders.orders_id ASC


    Linkback: https://www.modified-shop.org/forum/index.php?topic=30114.0

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: SQL Frage
    Antwort #1 am: 08. Mai 2014, 12:01:40
    Achsooooo, da gibts ja renundante Daten!

    Steht ja in der Tabelle orders drin die customer_cid :-D

    Hat sich erledigt:
    Code: SQL  [Auswählen]
        SELECT orders.orders_id AS Bestellnummer,
        orders.date_purchased AS Bestelldatum,
        orders.customers_cid AS Kundennummer,
        orders.customers_name AS 'Name des Käufers',
        orders.customers_telephone AS Telefonnummer,
        orders.customers_email_address AS 'E-Mail-Adresse',
        CONCAT(orders.delivery_company,'\r\n',orders.delivery_name,'\r\n',orders.delivery_street_address,'\r\n',orders.delivery_country_iso_code_2,' ',orders.delivery_postcode,' ',orders.delivery_city) AS Versandadresse,
        CONCAT(orders.billing_company,'\r\n',orders.billing_name,'\r\n',orders.billing_street_address,'\r\n',orders.billing_country_iso_code_2,' ',orders.billing_postcode,' ',orders.billing_city) AS Rechnungsadresse,
        orders_status.orders_status_name AS STATUS,
        format(orders_products.products_quantity,0) AS Anzahl,
        orders_products.products_id AS 'Artikel-ID',
        orders_products.products_model AS Artikelnummer,
        orders_products.products_name AS Artikel,
        (SELECT GROUP_CONCAT(DISTINCT CONCAT( products_options,' : ', products_options_values) ORDER BY products_options ASC SEPARATOR '\r\n') FROM orders_products_attributes WHERE orders_id=orders.orders_id AND orders_products_id=orders_products.orders_products_id GROUP BY orders_id) AS Attribute,
        REPLACE(REPLACE(format(orders_products.products_price ,2),',',''),'.',',') AS Artikelpreis,
        REPLACE(REPLACE(format((orders_products.products_quantity * orders_products.products_price),2),',',''),'.',',') AS 'Gesamtpreis',
        REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(orders.payment_method,'cod','Nachnahme'),'eustandardtransfer','Vorkasse'),'paypal','PayPal'),'pn_sofortueberweisung','SofortÜberweisung'),'billpay','Billpay') AS Zahlungsmethode,
        REPLACE(REPLACE(total1.class ,'ot_shipping','Normalversand'),'ot_cod_fee','Nachnahme') AS Versandart,
        REPLACE(REPLACE(format(total1.VALUE , 2),',',''),'.',',') AS Versandkosten,
        REPLACE(REPLACE(REPLACE(total2.class ,'ot_shipping','Normalversand'),'ot_cod_fee','Nachnahmegebühr'),'','Keine Nachnahme') AS `Nachnahmegebühr`,
        REPLACE(REPLACE(format(total2.VALUE,2),',',''),'.',',') AS Nachnahmewert
        FROM orders_total total1
        LEFT JOIN orders_total total2
        ON total1.orders_id = total2.orders_id
        AND total2.class = 'ot_cod_fee'
        JOIN orders
        ON orders.orders_id = total1.orders_id
        JOIN orders_products
        ON orders_products.orders_id = orders.orders_id
        JOIN orders_status
        ON orders.orders_status = orders_status.orders_status_id
        WHERE total1.class = 'ot_shipping'
        AND orders_status.language_id=".$_SESSION['languages_id']."
        ORDER BY orders.orders_id ASC

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Re: SQL Frage
    Antwort #2 am: 13. April 2017, 17:13:40
    Guten Tag,
    gibt es einen SQL Befehl mit dem ich in der Spalte customers_cid alle PK und * entfernen kann?
    Wir haben in der Vergangenheit im Admin die Kundennummern von Hand nachgetragen und gewisse Zeichen als Gedächtnisstütze angehängt, die jetzt aber nicht mehr benötigt werden.
    Kann ich die in einem Rutsch mit einem speziellen Befehl löschen ohne die Ziffern zu erwischen  :-?

    Herr_Bert

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Frage
    Antwort #3 am: 13. April 2017, 17:21:11
    In phpMyAdmin einfach diese beiden Updates abschicken.
    Code: SQL  [Auswählen]
    UPDATE customers SET customers_cid = REPLACE(customers_cid, '*', '');
    UPDATE customers SET customers_cid = REPLACE(customers_cid, ' PK', '');
     

    Gruß
    Ronny

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: SQL Frage
    Antwort #4 am: 13. April 2017, 17:23:27
    DATENBANK-BACKUP ANLEGEN!

    Code: SQL  [Auswählen]
    UPDATE customers SET customers_cid = REPLACE(customers_cid,' PK','');

    Bei dem Sternchen bin ich mir gerade unsicher, da es in einer Query gerne als Platzhalter dient, versuch es trotzdem erstmal so:

    Code: SQL  [Auswählen]
    UPDATE customers SET customers_cid = REPLACE(customers_cid,'*','');

    EDIT: Da war die Webkiste wohl schneller als ich. :D

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Re: SQL Frage
    Antwort #5 am: 13. April 2017, 17:54:46
    Oh, jetzt bin ich ein wenig ängstlich, folgendes wird mir angezeigt: (s.Anhang)
    Kann ich das trotzdem ausführen  :-x

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Re: SQL Frage
    Antwort #6 am: 14. April 2017, 10:31:17
    Guten Morgen und einen angenehmen Feiertag wünsche ich,
    habe mal fleißig gesucht, aber verstehe noch nicht was mir diese Meldung sagen will?
    Was ist denn ein Trennzeichen, wo fehlt da denn was  :-?

    Herr_Bert

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Frage
    Antwort #7 am: 14. April 2017, 11:16:15
    Hast du zum Ausführen des UPDATE-Befehls auch die richtige Shopdatenbank gewählt? Denn dein Fehler kommt eigentlich, wenn keine Datenbank ausgewählt wurde. In phpMyAdmin werden ja alle Datenbanken verwaltet.

    Gruß
    Ronny

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Re: SQL Frage
    Antwort #8 am: 14. April 2017, 11:23:13
    Habe ich nochmal überprüft, aber es ist eine, bzw. die richtige Datenbank gewählt  :-?

    Herr_Bert

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Re: SQL Frage
    Antwort #9 am: 14. April 2017, 17:46:48
    Hallo Ronny,
    leider ist deine PN im Spam-Ordner gelandet, aber dank deines Hinweises habe ich sie jetzt gefunden  :-)
    Da es bei dir funktioniert habe ich die Befehle mal mit MySQL Dumper ausgeführt, und da klappt das einwandfrei  ‘:-/ Scheinbar ist PHPmyAdmin über meinen Hoster wohl etwas "zickich", obwohl ich da auch nichts anders gemacht habe  :-?
    Jetzt sind unsere Kundennummern rein, vielen Dank für deine Hilfe  :thx:

    Herr_Bert

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: SQL Frage
    Antwort #10 am: 14. April 2017, 18:01:06
    Ok, dann ist das ja gelöst.

    Gruß
    Ronny
    8 Antworten
    4941 Aufrufe
    11. November 2015, 13:40:18 von Bonsai
    6 Antworten
    6130 Aufrufe
    17. April 2014, 19:24:51 von ShopNix
    15 Antworten
    7544 Aufrufe
    29. Januar 2016, 14:36:34 von Bonsai
    5 Antworten
    2685 Aufrufe
    26. März 2016, 09:51:23 von burrito