Я создал таблицу t1(ca char(1), cb char(10), test char(20), ord char(20))
, и я хочу получить ca + cb с заказом ord.Как выбрать отдельные данные с требуемым ЗАКАЗОМ?
Чтобы получить данные, которые я написал запрос как: получил
select distinct ca + cb as exp, test
from table
order by ord, exp
Ошибка:
ORDER BY пункты должны появиться в списке выбора, если SELECT DISTINCT задан. `
также попытался с внутреннего запроса, как
select exp, test
from (select distinct ca + cb as exp, ord, test
from ttemp
order by ord, exp)
получил Ошибка:
Поручения п недействительна в представлениях, встроенных функциях, производных таблиц, подзапросы, и общий стол выражения, если также не указаны TOP, OFFSET или FOR XML.
Как я могу выбрать distinct
данные с требуемыми ORDER
?
ну, как у вас есть, вы просто не можете, если не используете функция агрегации на 'ord' – Lamak
используйте' order by ca + cb', и ord вы не можете использовать. Если вы хотите упорядочить по орду, добавьте 'ord' для выбора выбранных полей ex:' select distinct ca + cb как exp, test, ord из таблицы order by ord, ca + cb'. –
на ваш первый запрос, который вам нужно добавить * ord * в ваш список выбора, тогда он должен работать – Stephen