MySQL Forums
Forum List  »  German

Komisches Ergebnis by Select mit Subquerry
Posted by: Malte Kempff
Date: July 05, 2014 02:29PM

Ich habe eine recht einfache Tabelle, und wollte mit einem Update bestimmte Zeilen ändern, bei der ich jedoch ein Subquerry mit max(createtime) verwende um eindeutig genug zu sein.
bedauerlicherwese ignoriert er diesen Subquerry und ändert mir alles was ich im vorangegangenen where treffe.
auch ein ebenbürtiges select gibt mir merkwürdigerweise mehr als ich erwarte.

hier mein update:
update routercustomerdata set
purchased = 0
, TimestampPurchased = null
where upper(CustomerMac) = upper(?)
and purchased = 1
and TimestampExit is null
and create_time = (select create_time from (select max(create_time)
from routercustomerdata as rcd
where upper(CustomerMac) = upper(?)
and purchased = 1
and TimestampExit is null
) t )

und hier mein theoretisch ebenbürtiges select mit "Lini" als Parameter

select * from mydb.routercustomerdata
where upper(CustomerMac) = upper('LINI')
and purchased = 1
and TimestampExit is null
and create_time = (select create_time from (select max(create_time)
from mydb.routercustomerdata RCD
where upper(CustomerMac) = upper('Lini')
and purchased = 1
and TimestampExit is null
) T )


wobei ich hier bei einem experiment mal auf die "puchased = 1 and timestampExit = null" verzichtet hatte und tatsächlich mein create_time außeracht gelassen wurde :-/

mache ich hier was falsch oder ist das eine mysql Unzulänglichkeit?
Für Hinweise sehr dakebar,

Malte

Options: ReplyQuote


Subject
Views
Written By
Posted
Komisches Ergebnis by Select mit Subquerry
1147
July 05, 2014 02:29PM


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.