I am trying to write a SQL query that will show me the records that are largest in size along with the User Names associated with the record.
SELECT
Data.Id,
User.UserName,
(
ISNULL(DATALENGTH(ColumnA), 1) +
ISNULL(DATALENGTH(ColumnB), 1) +
ISNULL(DATALENGTH(ColumnC), 1)
) AS SizeOfRow
FROM Data
LEFT JOIN User ON Data.UserId = User.UserId
ORDER BY SizeOfRow DESC
When I run this I get the error Conversion failed when converting from a character string to uniqueidentifier.
I am not sure where I am going wrong here. If I remove the JOIN
to the User
table then the SQL runs without issue. However, I really want to include the UserName
field and I am not sure why it's addition is causing a problem.
EDIT: I should mention that ColumnA
is a datatype of UniqueIdentifier
. While ColumnB
and ColumnC
are both varchar(max)
.