нормальный код, уберите пробелы и переносы строк — будет 2-3 строчки.
Меня просто смущает, что два раза в одном запросе идёт обращение к одной и той же таблице… Пусть хоть даже для того, чтобы выбрать разную инфу, но всё же…
а зачем вам второй селект там?
Потому что выборка в общем такова:
(id_user
= 27 or id_frend
= 27) and type
= 1
То есть нужное нам значение может быть как в id_frend, так и в id_user.
И как я понял при подобных запросах в «дополнительном» select выборка идёт только по 1-ому столбцу. Но мне-то надо по двум… Ведь, как прежде сказал, значение может находиться в одной из двух строк…
Поэтому пришлось второй селект сунуть. Первый по id_frend, второй по id_user выбирает из таблицы frends.
не знаю mysql, но уверен, что сократить можно.
только так ли это важно?
вы тестировали производительность?
Он работает. Проверял через PHPMyAdmin. Выборка идёт верно…
Но хотелось бы подсократить как-нибудь… А вот как…
Оказалось, что в запрос ещё надо будет вставлять третий select, подобный первому, но выборка уже идёт по type = 0…
Капец.
Есть такой запрос:
Есть wpdb если вдруг для решения задачи WP_Query будет недостаточно.