Я много искал, но у меня нет шансов получить подзапрос, чтобы сразу возвращать сразу несколько столбцов. Следующий код работает, но это отстой:Выбор нескольких столбцов из подзапроса
SELECT
(SELECT Column1 FROM dbo.fnGetItemPath(ib.Id)) AS Col1,
(SELECT Column2 FROM dbo.fnGetItemPath(ib.Id)) AS Col2,
(SELECT Column3 FROM dbo.fnGetItemPath(ib.Id)) AS Col3
FROM ItemBase ib
Я на самом деле не получил ни малейшего представления о том, как передать ib.Id функции и получить целые столбцы Column1, COLUMN2, колонка3 без вызова функции fnGetItemPath 3 раза.
Заранее благодарен
Вы можете разместить код для функции? Если это функция с табличной оценкой, она должна работать, – Dan
Да, это табличная функция. Но приведенный выше код SQL действительно неэффективен, так как он должен запускать функцию 3 раза по разному, что бесполезно. Мне нужен механизм для запуска функции один раз, чтобы сразу получить три столбца. Есть идеи? –
Если его функция, ориентированная на таблицу, вам не нужно делать это, как указано выше, вы можете просто выбрать SELECT * FROM dbo.fnGetItemPath (ib.Id)) – Dan