Offen Update SQL Abfrage bleibt hängen

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
Jemand eine Idee warum diese Abfrage nicht korrekt funktioniert ?

Ich habe zwei Tabellen. In der einen eine Preisliste mit Herstellernamen und HAN Nummern und eine zweite Preisliste die nur die Artikel enthält die einen Pfand haben.
Ich möchte nun die Spalte für Pfand in der Preisliste ohne Pfand ergänzen. Dafür hab ich in der ersten Preisliste eine neue Spalte "Pfand" hinzugefügt und dort soll der Pfandpreis der zweiten Liste rein.

Code:
UPDATE Preisliste SET Pfand = (SELECT Max(Pfandliste.Price) FROM Pfandliste WHERE Preisliste.PREFIKS = Pfandliste.Prefiks);

Der Prefiks enthält in diesem Fall die HAN Nummern. Sind diese identisch, soll in die Spalte "Pfand" der Preis aus der Pfandliste eingetragen werden.

Leider kommt keine Fehlermeldung, sondern "HeidiSQL" macht einfach nichts weiter und hängt einfach fest.

Jemand eine Idee woran das liegen kann ? Die Pfandliste enthält knap 400.000 Artikel.

PS.: Und ja Prefiks ist korrekt geschrieben und es ist auch korrekt, das in der einen Tabelle Prefiks groß geschrieben wird und in der anderen klein. ^^
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

Ändere das hier:
WHERE Preisliste.PREFIKS = Pfandliste.Prefiks

in das hier:
WHERE Pfandliste.Prefiks = Preisliste.PREFIKS
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Danke für die Info. Ich hatte eh nen kleinen Fehler drin:

Code:
UPDATE Preisliste SET Pfand = (SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS);

Und das Max sollte da eigentlich garnicht mehr mit rein. ^^

Leider bleibt das Update immer noch hängen. :(

Pfand_Update.jpg
 

Anhänge

  • Pfand_Update.jpg
    Pfand_Update.jpg
    30,1 KB · Aufrufe: 16

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

Prüfe mal in Einzelschritten:

Kommt hier ein Ergebnis:
SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = (Ersetze Preisliste.INDEXS mit einem Wert)

Und das hier geht auch:
UPDATE Preisliste SET Pfand = 999
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

Stopp!

Da fehlte was:
UPDATE Preisliste SET Pfand = 999 WHERE Pfandliste.Indeks = (Ersetze Preisliste.INDEXS mit einem Wert)
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Code:
SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = 420121;

Funktioniert schon mal ...


Code:
UPDATE Preisliste SET Pfand = 999;

Funktioniert auch...

Code:
UPDATE Preisliste SET Pfand = 999 WHERE Pfandliste.Indeks = 420121;

Funktoniert nicht, da er die Tabelle Pfandliste nicht kennt...

/* SQL Fehler (1054): Unknown column 'Pfandliste.Indeks' in 'where clause' */
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Ich hab das ganze mal über PhpMyAdmin getestet und dort auf "Abfrage simmulieren" geklickt.
Der spuckt mir dabei doch tatsächlich einen Syntax Fehler aus. Ja nur wo soll der sein ?

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Code:
UPDATE Preisliste SET Pfand = (SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS)
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

Das hier war falsch:
UPDATE Preisliste SET Pfand = 999 WHERE Pfandliste.Indeks = (Ersetze Preisliste.INDEXS mit einem Wert)

Das muss so aussehen:
UPDATE Preisliste SET Pfand = 999 WHERE Preisliste.INDEXS = (Ersetze Pfandliste.Indeks mit einem Wert)

Möglicherweise erhält man beim SELECT als Ergebnismehr als einen Datensatz mit der gleichen Nummer.
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Es kann auf jeden Fall vorkommen das eine HAN, in dem Fall der INDEXS mehrmals vorkommt.
Die Fehlermeldung "Subquery returns more than 1 row" bekomme ich aber eigentlich nur wenn ich das Statement so schreibe:

Code:
UPDATE Preisliste SET Pfand = (SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS);

Ich habe woanders nun folgenden Lösungsansatz bekommen:

Code:
UPDATE Preisliste, Pfandliste SET Preisliste.Pfand = Pfandliste.Price WHERE Preisliste.INDEXS = Pfandliste.Indeks;

Das erspart mir natürlich das Subquery. Allerdings habe ich hier das selbe Problem. Es passiert einfach nichts.
Irgendwie finde ich nun auch nicht mehr den Button "Abfrage simmulieren" in PhpMyAdmin. Der Button taucht beim SQL Fenster nicht mehr auf.
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Bei

Code:
UPDATE Preisliste SET Pfand = 999 WHERE Preisliste.INDEXS = 420121

erhalte ich folgende Meldung:

Truncated incorrect DOUBLE value: '...'

Packe ich das ganze in Hochkommata:

Code:
UPDATE Preisliste SET Pfand = 999 WHERE Preisliste.INDEXS = 420121

Erhalte ich nur die Meldung:

/* Affected rows: 0 Gefundene Zeilen: 0 Warnungen: 0 Dauer von 1 query: 0,421 sec. */

Die HAN 420121 taucht aber definitiv in beiden Listen aus Indeks bzw. INDEXS auf.
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Ich hab das ganze nun mal mit nur einer einzigen Zeile getestet. Dh. in beiden Tabellen nur eine Zeile drin. Oha, da funktioniert es plötzlich....

Egal welches Statement ich benutze:

Code:
UPDATE Preisliste SET Pfand = 999 WHERE Preisliste.INDEXS = '420121';

oder

Code:
UPDATE Preisliste SET Pfand = (SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS);

Dh. das Statement selber scheint also korrekt zu sein. Er scheint wohl nur Probleme mit doppelten HAN´s/ Artikel zu haben. Und wie fange ich das nun am besten ab ?
Wenn jemand eine Idee hat, immer her damit. ^^
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

SELECT Pfandliste.Prefiks, COUNT(Pfandliste.Prefiks) AS Anzahl
FROM Pfandliste
GROUP BY Pfandliste.Prefiks
HAVING ( COUNT(Pfandliste.Prefiks) > 1 )
zeigt doppelte Einträge an.

Mit SELECT DISTICT ... wird nur ein Datensatz angezeigt.
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Hmm sehe gerade das die doppelten HAN´s soweit korrekt sind und bleiben müssen. Sie Beziehen sich auf unterschiedliche Hersteller die in der Liste unter Prefiks stehen.

Also sollte das doch eigentlich helfen:
Code:
UPDATE Preisliste SET Pfand = (SELECT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS AND Pfandliste.Prefiks = Preisliste.PREFIKS);

Es passiert aber leider wieder nichts...grrrrrrrr

Oh sehe gerade das er es doch beendet hat, allerdings meckert er über

/* SQL Fehler (1242): Subquery returns more than 1 row */
/* Affected rows: 0 Gefundene Zeilen: 0 Warnungen: 0 Dauer von 0 of 1 query: 0,000 sec. */

Verstehe ich einfach nicht, wieso er damit Probleme hat
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Danke für das Statement, hatte das selbe nun schon über Excel mir anzeigen lassen. Allerdings müsste ich nach Indeks suchen. Der Prefiks enthält den Hersteller in 3 Buchstabenkürzel. Die Spalte Indeks die HAN Nummer.

Code:
SELECT Pfandliste.Indeks, COUNT(Pfandliste.Indeks) AS Anzahl
FROM Pfandliste
GROUP BY Pfandliste.Indeks
HAVING ( COUNT(Pfandliste.Indeks) > 1 )
oder so:

Code:
SELECT Preisliste.INDEXS, COUNT(Preisliste.INDEXS) AS Anzahl
FROM Preisliste
GROUP BY Preisliste.INDEXS
HAVING ( COUNT(Preisliste.INDEXS) > 1 )
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
AW: Update SQL Abfrage bleibt hängen

Die Rückgabemenge beträgt mehr als 1 Datensatz. Somit kann das Update nicht ausgeführt werden.

Probier es doch mal mit SELECT DISTINCT blabla...

Distinct schränkt die Ergebnismenge auf 1 ein. Es ist aber immer noch zu prüfen, warum mehr als 1 Datensatz zurückkommt und welche der gefundenen der richtige wäre...
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Ich hab zwar nicht viel Hoffnung, aber ich versuche dein Tip natürlich gerne mal aus...

Code:
UPDATE Preisliste SET Pfand = (SELECT DISTINCT Pfandliste.Price FROM Pfandliste WHERE Pfandliste.Indeks = Preisliste.INDEXS AND Pfandliste.Prefiks = Preisliste.PREFIKS);

Hmmm passiert wieder nichts....

Ich hab das ganze mal als reine SELECT Abfrage bei PhpMyAdmin gestartet:

Code:
 SELECT DISTINCT * FROM Pfandliste, Preisliste  WHERE Pfandliste.Indeks = Preisliste.INDEXS AND Pfandliste.Prefiks = Preisliste.PREFIKS

Auch da Lädt sich PhpMyAdmin tot bei....also das ist wirklich merkwürdig.
 

Gabbahead

Aktives Mitglied
18. Februar 2015
167
0
Berlin
AW: Update SQL Abfrage bleibt hängen

Ok....

Code:
SELECT DISTINCT Price FROM Pfandliste, Preisliste WHERE Pfandliste.Indeks = Preisliste.INDEXS AND Pfandliste.Prefiks = Preisliste.PREFIKS;

/* Affected rows: 0 Gefundene Zeilen: 131 Warnungen: 0 Dauer von 1 query: 00:09:10 */

Na zumindest das funktioniert schon mal...

Das sagt mir doch eigentlich jetzt aus, das sich in der Liste mit ca. 15.000 Pfandartikel, sich 132 Artikel befinden, die mit den Artikeln in meiner Pfandliste identisch sind.
Gut 131 ist ja nun keine große Zahl, ich glaub ich lass das hier alles und suche mir die passende HAN dazu raus und trage das handisch ein. ^^
Übrigens verblüffend, er hat knap 10 Minuten gebraucht um mir dieses Ergebniss zu liefern.
Dann weiß ich ja auch warum das mit der ganzen Liste so lange dauert, vermutlich müsste ich einfach nur nen Tag oder so warten, bis er mir dann ein Ergebniss anzeigt. :D

EDIT: Oh sehe gerade das es ja 131 Warnungen sind. Hmmm also keine Übereinstimmungen...was sagt mir das nun ?
 
Ähnliche Themen
Titel Forum Antworten Datum
Kein ebay Abgleich seit Update auf 1.9.4.1 - error calling EaEbayNegotiationEligibleItemPost JTL-Wawi 1.9 1
Neu 1.9.4.1 Ausgabe Dropdown-Menü für Angebote und Aufträge funktioniert nach Update nicht mehr Installation von JTL-Wawi 0
Neu nach Update v. 1.5.15.2 a. 1.8.12.2 kein Import von Backup möglich Installation von JTL-Wawi 4
Order Update über die JTL REST API JTL-Wawi 1.8 0
In Bearbeitung JTL POS stürzt nach automatischem Update am 15.05.24 beimscannen von Produkten ab JTL-POS - Fehler und Bugs 1
Neu Update von 1.5.55.8 auf 1.9.4.1 möglich? Installation von JTL-Wawi 2
Neu V1.9.4 im Dashboard Meldung "Update verfügbar" Installation von JTL-Wawi 4
Neu Gelöst - SSL Probleme nach Update auf 5.3.1 Betrieb / Pflege von JTL-Shop 2
Neu Grundpreis nach Update JTL-Shop - Fehler und Bugs 2
Neu Wie stelle ich ohne viel Aufwand fest, ob meine Plugins nach einem Update für JTL Shop 5.3.1 geeignet ist ? JTL-Shop - Ideen, Lob und Kritik 4
Neu Shopware 5 Bilder werden nicht übertragen nach Update auf Wawi 1.7.15.6 Shopware-Connector 0
Neu JTL SHOP update von 5.2.4 auf 5.3.1 - DBupdater startet nicht das Datenbankupdate Installation / Updates von JTL-Shop 6
Neu OPC geht nicht mehr (nach 5.3.1 Update) JTL-Shop - Fehler und Bugs 2
Wie schalt ich den worker Client aus auf den Server wegen Update JTL-Wawi 1.8 1
Gelöst Onepage Composer geht nicht mehr nach Update auf 5.3.1 JTL-Shop - Fehler und Bugs 2
"gekauft am"-Spalte im Bereich Versand nach update verschwunden JTL-Wawi 1.8 2
Neu gelöst: Update von 5.3.0 auf 5.3.1 - Dateien hochgeladen - immernoch alte Version Gelöste Themen in diesem Bereich 6
Neu Fehler beim Bearbeiten von PLZ & Ort im Kundenkonto (Update 5.3.0) JTL-Shop - Fehler und Bugs 6
Neu Nach Update auf 5.3 funktioniert das Video-Portlet für lokale Videos nicht Gelöste Themen in diesem Bereich 9
Neu Update auf v5-2-5 Gelöste Themen in diesem Bereich 3
Neu Nach Update auf 5.3 fliegen die Produkte aus dem Merchant Center JTL-Shop - Fehler und Bugs 0
Neu Update des JTL shops aus der Wawi funktioniert nicht Allgemeine Fragen zu JTL-Shop 1
Neu Greyhound JTL-Connector funktioniert nach Update auf 1.8.12 nicht mehr richtig Technische Fragen zu den JTL-Connectoren 5
Neu Kuriosum - Shop 5.1.5 mit Datenbank 5.2.4 Mischbetrieb nach fehlgeschlagenem Update Installation / Updates von JTL-Shop 8
Neu Weiße Seite nach Update Shop 5.1.5. auf 5.2.4 Installation / Updates von JTL-Shop 24
Neu fehlermeldung update 1.5 > 1.7 Installation von JTL-Wawi 1
Neu Erledigt - Plugin PayPal Checkout, Update auf 1.4.0, Komplettabsturz Plugins für JTL-Shop 1
Neu Keine SEO URLs bei Kinderartikeln nach Update Allgemeine Fragen zu JTL-Shop 3
Neu Update von 5.1.5 auf 5.2.4 Installation / Updates von JTL-Shop 1
Neu Update von Wawi 17.15.4. auf 18.12.0 geht nicht, weil Primary voll ist JTL-Wawi - Fehler und Bugs 4
Störung nach Update JTL-Wawi 1.8 2
Neu JTL-Shop 5.3.0 RC3 Fehler nach Update Portlet Banner, fehlendes Produkt JTL-Shop - Fehler und Bugs 0
JTL Wawi Update 1.7.15.5 - Worker hat keinen Zugriff auf DB JTL-Wawi 1.7 6
Manuelle Workflowliste nach Update durcheinandergewürfelt JTL-Wawi 1.8 0
Neu Nach Update von 1.5 auf 1.8 Versand in die Schweiz nicht mehr möglich JTL-ShippingLabels - Fehler und Bugs 2
Neu Links der Startseite funktionieren nach Update mobil nicht Installation / Updates von JTL-Shop 1
Wawi 1.8.11.2 startet nicht mehr nach Win 11 Update vom 14.02. ??? JTL-Wawi 1.8 14
Neu SQL Abfrage User helfen Usern - Fragen zu JTL-Wawi 2
Neu Plattform Feld per SQL setzen - mehrere Marken unter einer Firma verkaufen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Workflow - SQL - Frage zur DATEADD()-Funktion User helfen Usern - Fragen zu JTL-Wawi 2
Neu Korrektes Datumsformat in SQL-Abfrage User helfen Usern - Fragen zu JTL-Wawi 2
Neu Probleme beim Abfrage kopieren von SQL Management Studio User helfen Usern - Fragen zu JTL-Wawi 1
Neu Wie kann man Anzahl der VPE per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Kundendatenimport via SQL JTL-Wawi 1.6 1
SQL Abfrage für verkaufte Artikel + aktueller Bestand JTL-Wawi 1.8 1
Neu SQL Ausgabe Bestellinformationen JTL Ameise - Eigene Exporte 4
Neu SQL Script - geänderte Tabellen. User helfen Usern - Fragen zu JTL-Wawi 3
Wie kann ich etwas in der WAWI Datenbank per SQL ändern? JTL-Wawi 1.8 2
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2

Ähnliche Themen