Skip to content
Advertisement

How can I call a function using a column value in each row as a parameter?

I am using the following select statement in a stored procedure to get data from a table, with a function that returns a JSON for one of the columns. What am I doing wrong in my query?

The function GetRecordComments requires two parameters, with the first one being the RecordID of each row. When I use this query though, I get the following error. How can I call the function passing the recordID as parameter for each row?

Query:

Error:

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Advertisement

Answer

To me, it is very strange that RecordId would be repeated in a table called RecordList. But clearly it is. Happily the subqueries are not necessary:

You should know that such user-defined functions are generally performance killers. My guess is that you have a comments table. An explicit JOIN is usually much preferable.

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement