Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mysql [2024/11/13 16:31] – [Die Nachbestellnummern eines Auftrages wurden erstellt/reserviert, sollen aber wieder weg] geraldmysql [2025/06/27 11:35] (aktuell) – [FA-Test-Bestellung löschen] gerald
Zeile 12: Zeile 12:
 [[http://dev.mysql.com/doc/refman/5.0/en/string-functions.html|STRING-functions of mySQL]] [[http://dev.mysql.com/doc/refman/5.0/en/string-functions.html|STRING-functions of mySQL]]
  
 +
 +{{::sql.jpg?600|}}
 ===== Interne Variable zum Sortieren von Listen ===== ===== Interne Variable zum Sortieren von Listen =====
  
Zeile 383: Zeile 385:
 SELECT liste.id, liste.jobnumber, liste.class, liste.name, liste.order_number, liste.value_payed, liste.order_number FROM qf_classlist as liste INNER JOIN (SELECT jobnumber, class, name, order_number, value_payed FROM qf_classlist GROUP BY jobnumber, class, name, order_number HAVING COUNT(id) > 1) dup ON (liste.jobnumber = dup.jobnumber && liste.name = dup.name && liste.class = dup.class && liste.order_number = dup.order_number && liste.value_payed = dup.value_payed) WHERE liste.value_payed > 0 AND liste.order_number != '' ORDER by jobnumber, class, name SELECT liste.id, liste.jobnumber, liste.class, liste.name, liste.order_number, liste.value_payed, liste.order_number FROM qf_classlist as liste INNER JOIN (SELECT jobnumber, class, name, order_number, value_payed FROM qf_classlist GROUP BY jobnumber, class, name, order_number HAVING COUNT(id) > 1) dup ON (liste.jobnumber = dup.jobnumber && liste.name = dup.name && liste.class = dup.class && liste.order_number = dup.order_number && liste.value_payed = dup.value_payed) WHERE liste.value_payed > 0 AND liste.order_number != '' ORDER by jobnumber, class, name
 </code> </code>
 +
 +
 +==== Fotokation: Ein Angebot (oder mehrere) an das Ende des Offerstrings anhängen ====
 +
 +<code>
 +UPDATE `fotoaction_pics` SET offer = CONCAT(offer, ',163') WHERE `valid_to` > '2025-11-20' AND offer NOT LIKE '%,163' LIMIT 25000
 +</code>
 +
  
 ==== Alle Bestellnummern der Fotoaktion eines Auftrags (z.B. für Excel) ==== ==== Alle Bestellnummern der Fotoaktion eines Auftrags (z.B. für Excel) ====
Zeile 449: Zeile 459:
  
 <code>ALTER TABLE tabelle MODIFY spalte VARCHAR(255) COLLATE utf8_bin;</code> <code>ALTER TABLE tabelle MODIFY spalte VARCHAR(255) COLLATE utf8_bin;</code>
 +
 +==== PHP: Einfach dt. Datum in SQL-Format umwandeln ====
 +
 +
 +PHP:
 +<code>
 +$date_de = '24.03.2025';
 +$date_sql = DateTime::createFromFormat('d.m.Y', $date_de)->format('Y-m-d');
 +echo $date_sql; // Gibt "2025-03-24" aus
 +
 +</code>
 +
 +==== FA-Test-Bestellung löschen ====
 +
 +Um neues Shopsystem zu testen, habe ich in 'dir' von vault_order_items einen Strin geschrieben, der immer mit 'I:' anfängt. Die sollen alle weg und die dazugehörigen vault_order gleich mit.
 +
 +Testen:
 +
 +<code>
 +-- Betroffene vault_order_items
 +SELECT * FROM vault_order_items WHERE dir LIKE 'I:%';
 +
 +-- Betroffene vault_order
 +SELECT * FROM vault_order
 +WHERE id IN (
 +    SELECT order_id FROM vault_order_items WHERE dir LIKE 'I:%'
 +)
 +AND id NOT IN (
 +    SELECT order_id FROM vault_order_items WHERE dir NOT LIKE 'I:%'
 +);
 +
 +</code>
 +
 +Echtes Löschen: (ACHTUNG! Löscht auch Bestellungen, bei denen nur ein einziger Item-Eintrag mit 'I: ' beginnt (was ja nicht vorkommen sollte))
 +
 +<code>
 +START TRANSACTION;
 +
 +-- 1. Lösche alle vault_order, deren *alle* Items mit 'I:' beginnen
 +DELETE FROM vault_order
 +WHERE id IN (
 +    SELECT order_id
 +    FROM vault_order_items
 +    GROUP BY order_id
 +    HAVING SUM(CASE WHEN dir NOT LIKE 'I:%' THEN 1 ELSE 0 END) = 0
 +);
 +
 +-- 2. Lösche alle vault_order_items mit dir LIKE 'I:%'
 +DELETE FROM vault_order_items
 +WHERE dir LIKE 'I:%';
 +
 +COMMIT;
 +
 +</code>
  
  
  
 
Nach oben
mysql.1731515472.txt.gz · Zuletzt geändert: von gerald
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp