
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.08.2018, 14:28
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Вот работающий запрос в SQLite Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. При переносе на MySQL возникает ошибка "Every derived table must have its own alias". Куда эти альясы приписать? Или вообще в MySQL этот запрос можно проще записать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 15:46
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Пишу так, чтобы каждый подзапрос имел свой альяс (убрав лишнее WHERE): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Но ругается на 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't2 Что еще не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:06
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
LiYingЧто еще не так?подзапросам в UNION не нужны алиасы. И потом - если у тебя и так UNION DISTINCT, то нахрена ещё DISTINCT в подзапросах? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:10
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Akina, о DISTINCT еще не думал :) А ваш вариант я попробовал сразу же, но 1137 - Can't reopen table: 'raspr' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:14
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
raspr - это временная таблица, что ли? статические таблицы или представления не могут дать такое сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:17
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Если raspr - временная таблица, то решение будет таким: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:21
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Akina, Да, создаю Код: sql 1. 2. 3. 4. А затем тот самый запрос. Так нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.08.2018, 16:29
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
AkinaЕсли raspr - временная таблица, то решение будет таким: Код: sql 1. 2. 3. 4. 5. 6. 7. Уровень "Бог" :) Да, это работает! А как можно исключить из выборки NULL? И почему, все же, нельзя мой запрос применить к временной таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2018, 07:28
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
LiYingкак можно исключить из выборки NULL?По-моему, очевидно, WHERE expression IS NOT NULL . LiYingпочему, все же, нельзя мой запрос применить к временной таблице?Потому что просто нельзя. Implementation такой. И это - невозможность использования копий временной таблицы в одном запросе, - явно описано в документации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2018, 07:56
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Akina, Да, уже сам разобрался. Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2018, 09:44
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Akina, Однако, я поспешил... Если добавить WHERE task_id IS NOT NULL, то ошибка > 1054 - Unknown column 'task_id' in 'where clause'. Но в то же время ORDER BY task_id прекрасно сортирует выборку. Почему WHERE "не знает" про поле 'task_id'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2018, 09:48
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
LiYingЕсли добавить WHERE task_id IS NOT NULL, то ошибка > 1054 - Unknown column 'task_id' in 'where clause'.task_id - это имя поля выходного набора? тогда не WHERE, а HAVING. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2018, 09:49
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Да, с HAVING все получилось. Еще раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2018, 09:56
|
|||
|---|---|---|---|
|
|||
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
Akina, Хотелось бы услышать ваше мнение. Вот итоговый запрос по вашим рекомендациям: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. У него такой план: Но я придумал другой запрос, поэкспериментировал с ним - выдает те же результаты, что и выше: Код: sql 1. 2. 3. Строка HAVING task_id IS NOT NULL в нем нужна, т.к. есть записи с task1_id,task2_id,task3_id,task4_id = NULL. Выглядит попроще :) Что скажете? Можно его использовать или есть какие нюансы, которые всплывут в каких-либо случаях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2018, 10:13
|
|||
|---|---|---|---|
Конвертнуть запрос из SQLite в MySQL |
|||
|
#18+
LiYingЧто скажете?Скажу, что запросы в принципе не эквивалентны. Достаточно появиться одной записи, в которой хотя бы два поля из четырёх NOT NULL - и пламенный привет... а построить constraint, который обеспечит не более одного NOT NULL значения на запись, в MySQL невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1829650]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 399ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...