![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
mauar |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
Помогите пожалуйсто объеденить между собой запросы
Есть запрос 1:
Есть запрос 2:
а если вместе сделать вот так:
ругается матом, по раздельности всё работает )) делал так:
и так тоже неправильно:
помогите пожалуйста их объединить |
||||||||||
|
|||||||||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Вы наверно залились краской, потупились и не решились повторять эти глупости перед достойной публикой? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
а всё таки как их объеденить, union all есть, даже если пустые колонки я их прописываю как Null а всё равно не хочет
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
и все таки, приведите текст ошибки. Желательно с указанием номера строки и позиции курсора. Квери аналайзер для некоторых типов ошибок может и это показать.
Это сообщение отредактировал(а) Zloxa - 18.8.2011, 10:21 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
конвертацию вроде тоже делал cast(RupayUser.BirthDate as date) ,
может я не то конфертирую, я новичок sql текст ошибки: Msg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string. Это сообщение отредактировал(а) mauar - 18.8.2011, 10:34 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Другими словами, какое-то одно из полей, верхнем запросе определенном как дата, не может быть преобразованно к дате из строки во втором запросе. Возможно там содержится матерное слово, и это слово сервер затрудняется трансформировать в дату. А может быть столбец содержит данные, которые не совпадают с форматом представления дыты для неявной конверсии и формат преобразования надо укзать явно. Во первых тут можно схалявить и верхний с нижним подзапросом поменять местами, чтобы дата преобразовывалась в строку а не строка в дату, так больше шансов избежать ошибки. Если же устранять саму ошибку... для начала надо локализовать поле, в котором она происходит. Обычно, чтобы отловить подобную ошибку, я начинаю коментировать поле за полем в обоих запросах, до тех пор, пока ошибка не устранится.Если запрос возвращает полей, использую для поска метод половинного деления - коментирую половину полей, если ошибка не ушла, коментирую половину от оставшейся половины.... но тут, мне кажется - не ваш случай. После того, как поле локализуется, внимательно изучить данные, содержащиеся в этом поле и выявить те, которые не удается преобразовать в дату и что нибудь с ними сделать. Это сообщение отредактировал(а) Zloxa - 18.8.2011, 10:49 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
сделал так
теперь выдает ошибку: Msg 205, Level 16, State 1, Line 1 All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists. что она означает? |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Объединяемые запросы должны возвращать одинаковое количество столбцов Добавлено через 1 минуту и 11 секунд Какого типа CreationDate? Кастовать дату в дату - не абсурд ли? Может лучше кастануть в строку? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
да строка Account.CreationDate имеет тип datetime, но если в строку тогда опять ругаться будет что тип не правильный, хм а почему сейчас количество полей неправильно возвращает, не писать же кучу Null как это обойти?
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Потому что вы так написали. Посчитайте, это действительно так. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
Сейчас пишет что некорртектный синтаксис Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'select'. ругается на последнюю строчку а именно на as Tab в чем тут может быть ошибка? |
|||
|
||||
mauar |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
Всё родил, сделал по левому соединению из первого запроса ))
гы осталось ещё 3 запроса сюда прикрутить )) |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |