@TurinTur

Как проверить наличие записей удовлетворяющих условию и если полученное число не удовлетворяет условию, то сделать новый запрос?

Добрый день.
Вопрос следующий, у меня есть запрос в базы данных
он отрабатывает как надо, ну нужно его продолжить,
нужно понять есть ли 4 записи которые удовлетворяют данному условию и если их нет, то сделать другой запрос где не было бы дублей запроса выше и в общем счете их было как раз таки 4, соль в том что я хочу все это сделать в одном запросе, если на несколько дробить, то я знаю как это сделать, но хочется элегантно в одном
SELECT f.*, 
GROUP_CONCAT(t.tagId) as tagId, 
GROUP_CONCAT(tt.img) as tagImg 
FROM tei_products as f 
JOIN tei_enrolments_tags t ON t.productId = f.id 
JOIN tei_tags tt ON tt.id = t.tagId 
JOIN tei_enrolments_tags t2 ON t2.productId = f.id 
JOIN tei_tags tt2 ON tt2.id = t2.tagId and tt.id = 2 
WHERE f.id != 38 AND f.active = 1 
GROUP BY f.id LIMIT 4
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Странная задача. Почему бы сразу не включить это условие в запрос, получив только нужные записи.
Или, если это слишком сложно, то убрать LIMIT и получать из базы записи, пока не наберётся нужное количество.
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT 0, … (первый запрос)
UNION
SELECT 1, … (второй запрос)
ORDER BY 1, … LIMIT 4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы