Size: a a a

2020 December 16

РА

Ринат А in MySQL
Ilia Zviagin
А скажи, почему ты условия JOIN-а второй таблицы пишешь в JOIN-е последней?
у меня вроде все таблицы в последнем join
источник

IZ

Ilia Zviagin in MySQL
Ринат А
SELECT t1.film_id
FROM entities_to_film as t1
JOIN entities_to_film as t2
JOIN entities_to_film as t3
JOIN entities_to_film as t4
JOIN films as t5
ON t1.film_id = t2.film_id and t2.film_id = t3.film_id and t3.film_id = t4.film_id and t4.film_id = t5.id
WHERE (t1.entity_id = 10 and t1.entity = 7836) and (t2.entity_id = 8 and t2.entity = 23330)  and (t3.entity_id = 3 and t3.entity = 1)  and (t4.entity_id = 4 and t4.entity = 3) and t5.date = 2003;
А это что?

(t1.entity_id = 10 and t1.entity = 7836)
источник

РА

Ринат А in MySQL
Ilia Zviagin
А это что?

(t1.entity_id = 10 and t1.entity = 7836)
Условие выборки
источник

РА

Ринат А in MySQL
Ilia Zviagin
А это что?

(t1.entity_id = 10 and t1.entity = 7836)
Я хочу получить film_id (их может быть несколько) по нескольким условиям
источник

IZ

Ilia Zviagin in MySQL
Ринат А
Условие выборки
Убери всё что в WHERE, замени на
WHERE 1 = 2
тогда запрос будет оптимальным
источник

РА

Ринат А in MySQL
Ilia Zviagin
Убери всё что в WHERE, замени на
WHERE 1 = 2
тогда запрос будет оптимальным
То есть сперва нужно после каждого join свое условие, а в where 1=2?
источник

IZ

Ilia Zviagin in MySQL
Ринат А
То есть сперва нужно после каждого join свое условие, а в where 1=2?
Да
источник

РА

Ринат А in MySQL
🙏🏼
источник

IZ

Ilia Zviagin in MySQL
Ринат А
То есть сперва нужно после каждого join свое условие, а в where 1=2?
Ну и в JION тоже можешь писать ON 1 = 2
источник

РА

Ринат А in MySQL
Ilia Zviagin
Ну и в JION тоже можешь писать ON 1 = 2
А что это значит?
источник

IZ

Ilia Zviagin in MySQL
Ринат А
А что это значит?
Условие FALSE, то есть "НИКОГДА",
источник

РА

Ринат А in MySQL
Ilia Zviagin
Условие FALSE, то есть "НИКОГДА",
Так мне же нужно чтоб пересечение было по film_id
ON t1.film_id = t2.film_id
источник

РА

Ринат А in MySQL
Или вы говорите про красное, а я вижу синее?
источник

IZ

Ilia Zviagin in MySQL
Ринат А
Так мне же нужно чтоб пересечение было по film_id
ON t1.film_id = t2.film_id
Ты выбираешь пустой набор, и хочешь, чтобы он был оптимально организован в смысле выборки, так?
источник

РА

Ринат А in MySQL
Ilia Zviagin
Ты выбираешь пустой набор, и хочешь, чтобы он был оптимально организован в смысле выборки, так?
я хочу найти несколько полей по заданным условиям, у которых film_id будет пересекаться
источник

IZ

Ilia Zviagin in MySQL
Ринат А
SELECT t1.film_id
FROM entities_to_film as t1
JOIN entities_to_film as t2
JOIN entities_to_film as t3
JOIN entities_to_film as t4
JOIN films as t5
ON t1.film_id = t2.film_id and t2.film_id = t3.film_id and t3.film_id = t4.film_id and t4.film_id = t5.id
WHERE (t1.entity_id = 10 and t1.entity = 7836) and (t2.entity_id = 8 and t2.entity = 23330)  and (t3.entity_id = 3 and t3.entity = 1)  and (t4.entity_id = 4 and t4.entity = 3) and t5.date = 2003;
А, сори... Тебе вообще все JOIN -ы надо выкинуть, они не нужны тут.
источник

РА

Ринат А in MySQL
Ilia Zviagin
А, сори... Тебе вообще все JOIN -ы надо выкинуть, они не нужны тут.
Да? Вот у меня было конечно подозрение, но с обратной стороны я не додумался как запрос сделать
источник

IZ

Ilia Zviagin in MySQL
Ринат А
SELECT t1.film_id
FROM entities_to_film as t1
JOIN entities_to_film as t2
JOIN entities_to_film as t3
JOIN entities_to_film as t4
JOIN films as t5
ON t1.film_id = t2.film_id and t2.film_id = t3.film_id and t3.film_id = t4.film_id and t4.film_id = t5.id
WHERE (t1.entity_id = 10 and t1.entity = 7836) and (t2.entity_id = 8 and t2.entity = 23330)  and (t3.entity_id = 3 and t3.entity = 1)  and (t4.entity_id = 4 and t4.entity = 3) and t5.date = 2003;
Ты тут написал запрос, который возвращает пустой набор, ты это понимаешь или нет?
источник

РА

Ринат А in MySQL
Ilia Zviagin
Ты тут написал запрос, который возвращает пустой набор, ты это понимаешь или нет?
Нет. Он мне возвращает два значения
источник

IZ

Ilia Zviagin in MySQL
Ринат А
Нет. Он мне возвращает два значения
да ладно!
источник