MySQL: Как обойти ошибку временной таблицы на этом вопросе?

хорошо я прослушивал голову на этом целый день сегодня и не могу заставить это работать, в основном я пытаюсь подвергнуть сомнению беспорядочно 12 фотографий от стола временного секретаря, который содержит все фотографии, на которых активное загрузило пользователь, еще не проголосовавший.

Ошибка, очевидно , #1137 - не Может вновь открыть стол: 'r1' , которые работают временно стол, может только быть ссылкой однажды.

    CREATE TEMPORARY TABLE unvoted_photos
    SELECT *
    FROM photo
    WHERE photo.photo_uid 
    NOT IN 
    ( SELECT photo_uid
    FROM vote
    WHERE vote.user_uid = '12345' ) ;

    SELECT photo_uid, caption, storage_path
      FROM unvoted_photos AS r1 
      JOIN (SELECT (RAND() * 
                    (SELECT MAX(id)
                    FROM unvoted_photos)) AS sid)
                    AS r2
     WHERE r1.id >= r2.id
     ORDER BY r1.id ASC
     LIMIT 12;

Случайный запрос Select следовал за этим пример из-за исполнительной проблемы. Иначе это, конечно, работало бы.

    SELECT ... FROM photo WHERE photo_uid NOT IN ( voted images subquery ) ORDER BY RAND() LIMIT 12 
3
nl ja de
@Najzero... Необходимо отправить это как решение.
добавлено автор Gordon Linoff, источник
гм, могу я предлагать использовать ИЗБРАННЫЙ... ИЗ Фотографии, ГДЕ photo_uid НЕ В (проголосовавший подвопрос изображения) РЭНД ORDER BY() ОГРАНИЧИВАЮТ 12 ? должен добиться цели, даже без стола временного секретаря
добавлено автор Najzero, источник
@jerrytouille гм да, мысль о работе также, но не могла полагать, что, создавая временного секретаря каждый - то, что намного быстрее (я наклоняю доступ связь, вы отправили должный брандмауэр компаний). Взгляните здесь: stackoverflow.com/questions/1244555/… принятый ответ выглядит основательным
добавлено автор Najzero, источник
@Najzero хорошо, который, конечно, работает, но я вид потребности случайная часть запроса Select для исполнительной проблемы. Можно перейти по этой ссылке и проверить ' Performance' сравнение в основании: jan.kneschke.de/projects/mysql/order-by-rand
добавлено автор jerrytouille, источник
@Najzero хорошая связь, все же it' s о том же самом как ' example' гиперссылка в моем OP. Моя проблема unvoted_photos ссылка на таблицу, которая является таблицей временного секретаря, составленной от верхней части. Есть ли способ объединить эти две части так я don' t нужен временный секретарь unvoted_photos стол?
добавлено автор jerrytouille, источник

1 ответы

В корреспонденции к обсуждению вопроса вот способ слить два вместе, что необходимо быть в состоянии бежать сразу же. Я переписал бы это с СОЕДИНЕНИЕ s, но в этом случае я бросил временную таблицу в подвопрос, таким образом, вы видите то, что произошло.

SELECT photo_uid, caption, storage_path
  FROM (
          SELECT photo_uid, caption, storage_path
          FROM photo
          WHERE photo.photo_uid 
          NOT IN 
          ( 
            SELECT photo_uid
            FROM vote
            WHERE vote.user_uid = '12345' 
          )

       ) r1 
  JOIN (SELECT (RAND() * 
                (SELECT MAX(id)
                FROM unvoted_photos)) AS sid)
                AS r2
 WHERE r1.id >= r2.id
 ORDER BY r1.id ASC
 LIMIT 12;
0
добавлено
все еще есть unvoted_photos в подвопросе СОЕДИНЕНИЯ.
добавлено автор jerrytouille, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

dbGeeks
dbGeeks
545 участник(ов)

Чат про базы данных, их устройство и приемы работы с ними. Разрешаются любые адеватные дискуссии в рамках тематики чата.

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp

Разработка СУБД
Разработка СУБД
143 участник(ов)