Habe hier eine mysql-Query die mir nicht das zurück gibt, was ich erwarte.
In der Subquery wir ein String erzeugt. Dieser enthält kommagetrennt
numerische Werte. In der äußeren Abfrage soll dann in der Tabelle guckt
werden, ob die Werte aus der Subquery vorkommen. Wenn ja, dann gib den
Datensatz zurück.
SELECT * FROM ref\_ships\_temp
AS tA
WHERE tA
.mmsinumber
IN (SELECT
REPLACE (REPLACE(tE
.value
,'\r\n',','),',,', ',') AS mmsiNumbers FROM
ref\_customersFilters
AS tE
LEFT JOIN ref\_customers
AS tF
ON
tE
.customerid
=tF
.id
WHERE tF
.secret
='hsx256' AND
tE
.type
='mmsinumber');
Das Problem ist nun folgendendes. Wenn ich kommagetrennte werte in die äußere
Abfrage schreiben bekomme ich die richtigen Datensätze zurück. Nutze ich die
Subquery erhalte ich nur einen Datensatz.
Kann mir jemand sagen wo die Ursache ist?