| 

.NET C# Java Javascript Exception

2
Hallo zusammen,

ich sehe im Moment wieder mal den Wald vor lauter Bäumen nicht...

Ich möchte direkt in einer Abfrage ein Textfeld mit replace() bearbeiten. Zunächst ist ist das hier eh klar:

SELECT REPLACE(bezeichnung,'zuviel','') as bezeichnung FROM tabelle;

Jetzt möchte ich aber statt 'zuviel' das Ergebnis einer Unterabfrage verarbeiten, also z. B.:

SELECT REPLACE(bezeichning,(SELECT zuviel FROM wegdamit),'') as bezeichnung FROM tabelle;

Mein Problem dabei ist, dass MySQL das Ganze nur kommentiert mit "Subquery returns more than 1 row". Kann mir da jemand einen Klaps auf den Hinterkopf geben oder geht das wirklich nicht?
News:
14.05.2012
muffi 1,4k 1 9
1 Antwort
0
Der zweite Parameter gibt den zu ersetzenden String an, und soweit ich sehe, muß das wirklich ein String sein. Deine Subquery liefert aber mehr als eine Zeile und damit mehr als einen String, was MySql mit einem Fehler quittiert.
Falls Du auf einen Schlag mehrer verschiedene Strings durch '' ersetzen wolltest: nein, das geht so wirklich nicht.
Falls die Subquery genau einen zu ersetzenden String liefern soll: der Fehler bedeutet, dass sie das nicht tut, Du mußt Dir also die Subquery genauer anschauen.
14.05.2012
Matthias Hlawatsch 13,2k 4 9
Ich will wirklich auf einen Schlag mehrere Strings ersetzen. Die Unterabfrage läuft dementsprechend richtig. Schade, wenn das so nicht marschiert, dann muss ich das wohl statt am Server in der Anwendung erledigen.
muffi 14.05.2012
@muffi: Wär vlt. eine StoredProcedure eine alternative Möglichkeit für Dich?
ffordermaier 14.05.2012
@ffordermaier: An die Möglichkeit hatte ich noch nicht gedacht. Mit SPs arbeite ich aufgrund der Geschwindigkeit aber sowieso ganz gerne.
muffi 14.05.2012

Stelle deine Mysql-Frage jetzt!