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: Frage zu sql Befehl

    Thomas M.

    • Fördermitglied
    • Beiträge: 196
    Frage zu sql Befehl
    am: 22. Februar 2023, 15:19:39
    Grüß euch,

    eigentlich nur eine ptische Kleinigkeit, die ich gerne gelöst hätte......
    orders_status.orders_status_name wird mit den Daten der language_id 1 ausgegeben, kann mir bitte  wer von euch einen Tipp geben, wie  ich den Befehl dazu bringe, die Daten der language_id 2 auszugeben?
    Code: SQL  [Auswählen]
    SELECT DISTINCT orders.orders_id, orders.date_purchased, orders.last_modified, orders.customers_lastname, orders_total.value, orders.currency, orders.currency_value, orders.delivery_country, orders_status.orders_status_id, orders_status.orders_status_name
    FROM orders
    JOIN orders_total ON orders.orders_id = orders_total.orders_id
    JOIN orders_products ON orders.orders_id = orders_products.orders_id
    JOIN orders_status ON orders.orders_status = orders_status.orders_status_id
    WHERE orders.date_purchased BETWEEN "2022-08-01" AND "2023-01-01"
    AND (orders.orders_status = 2
            OR orders.orders_status = 10
            OR orders.orders_status = 11
            OR orders.orders_status = 12
            OR orders.orders_status = 20
            OR orders.orders_status = 21
            OR orders.orders_status = 24
            OR orders.orders_status = 28)
    AND (orders.customers_status = 1
         OR orders.customers_status = 2)
    GROUP BY orders.orders_id
    ORDER BY orders.orders_id

    Danke und Grüße aus Österreich,
    Thomas

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

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.869
    • Geschlecht:
    Re: Frage zu sql Befehl
    Antwort #1 am: 22. Februar 2023, 15:35:09
    Hallo Thomas,

    einfach noch ein
    Code: SQL  [Auswählen]
    AND orders_status.language_id = 2
    einfügen.

    Also dann so:
    Code: SQL  [Auswählen]
    SELECT DISTINCT orders.orders_id, orders.date_purchased, orders.last_modified, orders.customers_lastname, orders_total.value, orders.currency, orders.currency_value, orders.delivery_country, orders_status.orders_status_id, orders_status.orders_status_name
    FROM orders
    JOIN orders_total ON orders.orders_id = orders_total.orders_id
    JOIN orders_products ON orders.orders_id = orders_products.orders_id
    JOIN orders_status ON orders.orders_status = orders_status.orders_status_id
    WHERE orders.date_purchased BETWEEN "2022-08-01" AND "2023-01-01"
    AND (orders.orders_status = 2
            OR orders.orders_status = 10
            OR orders.orders_status = 11
            OR orders.orders_status = 12
            OR orders.orders_status = 20
            OR orders.orders_status = 21
            OR orders.orders_status = 24
            OR orders.orders_status = 28)
    AND (orders.customers_status = 1
         OR orders.customers_status = 2)
    AND orders_status.language_id = 2
    GROUP BY orders.orders_id
    ORDER BY orders.orders_id

    Grüße
    Dominik

    Thomas M.

    • Fördermitglied
    • Beiträge: 196
    Re: Frage zu sql Befehl
    Antwort #2 am: 22. Februar 2023, 15:47:42
    :datz: Danke Dominik

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.869
    • Geschlecht:
    Re: Frage zu sql Befehl
    Antwort #3 am: 22. Februar 2023, 15:54:32
    Gerne - bin ja auch immer froh, bei kleineren Dingen helfen zu können ;)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Frage zu sql Befehl
    Antwort #4 am: 23. Februar 2023, 20:43:25
    Das hier
    Code: SQL  [Auswählen]
    AND (orders.orders_status = 2
            OR orders.orders_status = 10
            OR orders.orders_status = 11
            OR orders.orders_status = 12
            OR orders.orders_status = 20
            OR orders.orders_status = 21
            OR orders.orders_status = 24
            OR orders.orders_status = 28)

    sollte man zusammenfassend vereinfachen weil übersichtlicher:
    Code: SQL  [Auswählen]
    AND (orders.orders_status IN(2, 10, 11, 12, ...)

    Außerdem mit Aliasen arbeiten damit das Ganze nicht so verbos und unübersichtlich wird:
    Code: SQL  [Auswählen]
    SELECT DISTINCT o.orders_id, ....
      FROM orders o
      JOIN orders_total ot
    ....

    Gruß,
    noRiddle

    Thomas M.

    • Fördermitglied
    • Beiträge: 196
    Re: Frage zu sql Befehl
    Antwort #5 am: 24. Februar 2023, 07:01:42
    Guten Morgen noRiddle,

    super, Danke für die Tipps!!

    Grüße aus Österreich,
    Thomas

    Thomas M.

    • Fördermitglied
    • Beiträge: 196
    Re: Frage zu sql Befehl
    Antwort #6 am: 24. Februar 2023, 07:27:00
    :mrgreen:
    Code: SQL  [Auswählen]
    SELECT DISTINCT o.orders_id, o.date_purchased, o.last_modified, o.customers_lastname, ot.value, o.currency, o.currency_value,op.products_tax,o.delivery_country, os.orders_status_id, os.orders_status_name
    FROM orders o
    JOIN orders_total ot ON o.orders_id = ot.orders_id
    JOIN orders_products op ON o.orders_id = op.orders_id
    JOIN orders_status os ON o.orders_status = os.orders_status_id
    WHERE o.date_purchased BETWEEN "2022-08-01" AND "2023-01-01"
    AND (o.orders_status IN (2,12,13,14,15,16))
    AND (o.customers_status IN(1,2))
    AND os.language_id = 2
    GROUP BY o.orders_id
    ORDER BY o.orders_id
    Danke nochmal, ist wesentlich besser so!
    7 Antworten
    2031 Aufrufe
    07. April 2021, 19:12:05 von Thomas M.
    4 Antworten
    3169 Aufrufe
    15. Januar 2013, 16:25:04 von Frank_H
    4 Antworten
    2828 Aufrufe
    11. Dezember 2013, 14:09:04 von innuXTC
    3 Antworten
    3566 Aufrufe
    17. Dezember 2014, 18:50:59 von Lioness