@vityabond

Как сделать наиболее правильный запрос mysql ?

Есть таблица в которой три столбца id | id1 | id2

1) Нужно найти все записи где id1 = $var1 и id1 = id2 и при этом существует запись id2 = id1
2) Нужно найти все записи где id1 = $var1 и id1 = id2, но при этом не существует записи id2 = id1

Запросы я написал и они работают, но получились вложенные и на мой взгляд достаточно сложные.
Таблица будет иметь очень большое количество записей !

Повторяю две разные записи. Пример:
Получить запись
7 = 6
только если существует
6 = 7
  • Вопрос задан
  • 2315 просмотров
Решения вопроса 1
@s1dney
Вы задаете такой вопрос, будто вариантов запроса больше 2-х. При том, что в конечном итоге интерпретатор mysql преобразует их в единый вид.
Индексируйте таблицы, если нужно делать селекты из большого множества.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CTAKAH4uK
@CTAKAH4uK
Условия у вас сами себе противоречат :
id1 = id2 и id2 = id1 - одно и то-же
id1 = id2, но при этом не существует записи id2 = id1 - не возможно
Если это просто опечатки, то возможно поможет что-то вроде :
SELECT * FROM table_name t1 WHERE t1.id = $var1 AND t1.id1 = t1.id2
SELECT * FROM table_name t1 WHERE t1.id = $var1 AND t1.id1 = t1.id2 AND t1.id != t1.id2
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы