Вопрос по SQL

stm7481822


SELECT * FROM mail WHERE ID IN (SELECT mail_id FROM sent_mail);


Выдает ошибку синтаксиса. ID и mail_id имеют одинаковый тип.

ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the
right syntax to use near 'SELECT mail_id FROM sent_mail)' at line 1


Что неправильно?

Marinavo_0507

Не понимает mysql таких вложенных запросов.

stm7481822

А как можно написать?

Marinavo_0507

Объединением.

stm7481822

А вот так?

SELECT * FROM mail, sent_mail WHERE mail.ID = sent_mail.mail_id

dgaf

ага. должно. у меня работало.

stm7481822

У меня заработало!
Похоже, SELECT можно писать минимум двумя разными способами =)

Fragaria

MySQL походу принципиально отказались от вложенных запросов из-за их медленности.

freezer

минимум тремя: еще есть INNER JOIN

ahiles27

mysql херня, так выебываться чтобы написать такую простую вещь

evgen5555

Для таких вопросов существуют Query Builder и Enterprise Manager'ы всякие, между прочим...
Оставить комментарий
Имя или ник:
Комментарий: