MySQL Forums
Forum List  »  German

Das kann nur ein MySQL-Bug sein - bitte schaut mal
Posted by: ecki ecki
Date: October 15, 2009 11:53AM

Hallo alle zusammen,

ich habe einen ziemlich komplexen MySQL-Select inkl. Subqueries (es geht um einen XT:Commerce Shop:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SELECT
customers.customers_gender,
customers.customers_firstname,
customers.customers_lastname,
customers.customers_email_address as kundenemail,
customers_status.customers_status_name
from customers, customers_basket, customers_info, customers_status
where
customers.customers_id = customers_basket.customers_id AND
customers.customers_id = customers_info.customers_info_id AND
customers.customers_status = customers_status.customers_status_id AND
customers.customers_email_address != '' AND
TO_DAYS(NOW())-TO_DAYS(customers_basket.customers_basket_date_added) = '1' AND
TO_DAYS(NOW())-TO_DAYS(customers_info.customers_info_date_account_created) = '1' AND
(
SELECT email
FROM anmeldungOhneBestellung
WHERE email = kundenemail
) is NULL AND
(
SELECT email
FROM email_blacklist
WHERE email = kundenemail
) is NULL AND
(
SELECT customers_email_address
FROM orders
WHERE customers_email_address = kundenemail
) is NULL AND
(
SELECT count(customers_email_address)
from customers
where customers_email_address = kundenemail
group by customers_email_address
) = 1


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Die Abfrage funktioniert und liefert ein NULL-Ergebnis zurück (kein Datensatz).
Jetzt kommt das kuriose:

Wenn ich meinen SELECT am Ende noch mit einer Gruppierung erweitere:

"group by customers.customers_email_address"

... erhalte ich auf einmal zwei Datensätze!!!! Wie kann das denn bitte sein?
Ohne group by erhalte ich NULL Datensätze und mit group by erhalte ich zwei Datensätze! Da stimmt doch irgendwas nicht oder kann mir mal jemand die Logik erklären?

Gruß
Ecki

Options: ReplyQuote


Subject
Views
Written By
Posted
Das kann nur ein MySQL-Bug sein - bitte schaut mal
2544
October 15, 2009 11:53AM


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.