MySQL Forums
Forum List  »  German

Abfrage liefert unterschiedliche Ergebnisse
Posted by: Lupo Neagan
Date: March 23, 2018 08:03AM

Hallo zusammen,

ich habe ein sehr seltsames Problem. Eine SQL-Abfrage liefert beim Ausführen immer wieder ein anderes Ergebnis. In den meisten Fällen bekomme ich eine leere Menge zurück. Wenn ich den SQL-Debugge (z.B. die WHERE-Bedingung lösche), werden plötzlich vier Datensätze angezeigt. Führe ich danach den Ursprünglichen SQL aus, zeigt er wiederum zwei Datensätze an (was mein Erwartungswert wäre, da die WHERE-Bedingung zwei dieser Datensätze herausfiltern sollte). Führe ich sie erneut aus, liefert sie wieder ein leeres Ergebnis.

Ich habe soetwas noch nie erlebt und unter diese Umständen ist es ist mir natürlich auch nicht möglich, den SQL zu debuggen und die genaue Ursache zu finden. Dass kein Wert rauskommt ist absolut unlogisch.

Auf der Datenbank laufen derzeit keine weiteren Prozesse, und an den betroffenen Datensätzen ändert sich auch nichts.

Hat jemand soetwas schon einmal erlebt?

Hier noch der betroffene SQL... Ich hoffe man kann es hier im Forum lesen:




select oxv_oxdelivery_de.*
from (
select oxv_oxdelivery_de.*

from oxv_oxdelivery_de

left join oxdel2delset
on oxdel2delset.oxdelid=oxv_oxdelivery_de.oxid

where ( oxv_oxdelivery_de.oxactive = 1 or ( oxv_oxdelivery_de.oxactivefrom < '2018-03-23 09:59:34' and oxv_oxdelivery_de.oxactiveto > '2018-03-23 09:59:34' ))
and oxdel2delset.oxdelsetid = 'oxidstandard'
) as oxv_oxdelivery_de
where (

select if
(

EXISTS(
select 1
from oxobject2delivery,
oxv_oxcountry_de
where oxv_oxcountry_de.oxid=oxobject2delivery.oxobjectid
and oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxcountry' LIMIT 1
),
"feb5ad731024378f38b9f8e95b0e90fe"
EXISTS(
select oxobject2delivery.oxid
from oxobject2delivery
where oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxcountry'
and oxobject2delivery.OXOBJECTID='a7c40f631fc920687.20179984'
),
1
)
&&
if
(

EXISTS(
select 1
from oxobject2delivery,
oxuser
where oxuser.oxid=oxobject2delivery.oxobjectid
and oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxuser' LIMIT 1
),

EXISTS(
select oxobject2delivery.oxid
from oxobject2delivery
where oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxuser'
and oxobject2delivery.OXOBJECTID='facac723858b55c238189d430cc0dd8c'
),
1
) &&
if
(

EXISTS(
select 1
from oxobject2delivery,
oxv_oxgroups_de
where oxv_oxgroups_de.oxid=oxobject2delivery.oxobjectid
and oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxgroups'
LIMIT 1
),
"e683b70ff14aa277cae8ab4d9c7c7de9", "6f959a51bb8388b30716266ba1b8772e", "829673c387c70d414eb1401edc38656c"
EXISTS(
select oxobject2delivery.oxid
from oxobject2delivery
where oxobject2delivery.oxdeliveryid=oxv_oxdelivery_de.OXID
and oxobject2delivery.oxtype='oxgroups'
and oxobject2delivery.OXOBJECTID in ('oxidnewcustomer', 'oxidcustomer', 'oxidsmallcust')
),
1
)
) order by oxv_oxdelivery_de.oxsort

Options: ReplyQuote


Subject
Views
Written By
Posted
Abfrage liefert unterschiedliche Ergebnisse
558
March 23, 2018 08:03AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.