Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сделать чтобы MySQL не считал переменную за колонку
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть переменная, идущая после SELECT: "count(*) AS PrIDCount" Проблема в том что запрос использует UNION и помимо этого конкретного селекта есть и другие. И в других селектах никакой PrIDCount нет. Соответственно вознгикает ошибка: "The used SELECT statements have a different number of columns". Можно ли сделать чтобы MySQL не считал PrIDCount за ещё одну колонку ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2016, 02:54 |
|
||
|
Сделать чтобы MySQL не считал переменную за колонку
|
|||
|---|---|---|---|
|
#18+
NecrosssЕсть переменная, идущая после SELECT: "count(*) AS PrIDCount"Это не переменная, а поле выходного набора с именем PrIDCount. Если тебе нужна именно переменная, то должно быть Код: sql 1. Но поле в выходном наборе всё равно добавится. Necrosssзапрос использует UNION и помимо этого конкретного селекта есть и другие. И в других селектах никакой PrIDCount нет.Полный текст запроса (оригинального или адекватной модели) в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2016, 07:28 |
|
||
|
Сделать чтобы MySQL не считал переменную за колонку
|
|||
|---|---|---|---|
|
#18+
Akina, Оригинальный запрос огромный, вот его миниатюрная модель: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Ошибка "The used SELECT statements have a different number of columns", как я понял, возникает именно из за того что в первом запросе есть 2 колонки (First и Second), в во втором их 3 (First, Second и PrIDCount). PS./ Если я прописываю вот так: GROUP BY `First` HAVING count(*) > 1 ORDER BY count(*) DESC то оно работает. Но мне показальсь это не очень оптимизированным (функция count(*) вызывается 2 раза) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2016, 00:27 |
|
||
|
Сделать чтобы MySQL не считал переменную за колонку
|
|||
|---|---|---|---|
|
#18+
Necrosss, Добавьте в первой части запроса NULL AS PrIDCount в секцию SELECT, если в итоге нужны все три поля. Или, наоборот, уберите count(*) AS PrIDCount во второй части, если это поле не нужно в результате. Necrosss(функция count(*) вызывается 2 раза)Нет, один раз. Это не функция в прямом смысле слова, это агрегатная функция, счетчик. И сильно подозреваю, что вам нужен UNION ALL, а не UNION. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2016, 02:26 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1831184]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 133ms |

| 0 / 0 |
