Sql server 返回多个值。请尝试从视图中删除此函数调用,并查看视图是否与函数调用一起正常工作….?然后您很容易发现函数与errorSide之间没有连接注意:TOP 100%。。。ORDER BY是一种黑客行为,可能会也可能不会产生任何有意义的结果排序。保证查询中返回结果

Sql server 返回多个值。请尝试从视图中删除此函数调用,并查看视图是否与函数调用一起正常工作….?然后您很容易发现函数与errorSide之间没有连接注意:TOP 100%。。。ORDER BY是一种黑客行为,可能会也可能不会产生任何有意义的结果排序。保证查询中返回结果,sql-server,Sql Server,返回多个值。请尝试从视图中删除此函数调用,并查看视图是否与函数调用一起正常工作….?然后您很容易发现函数与errorSide之间没有连接注意:TOP 100%。。。ORDER BY是一种黑客行为,可能会也可能不会产生任何有意义的结果排序。保证查询中返回结果的顺序的唯一可靠方法是在最外层的查询(例如,使用此视图的查询)上有一个order BY。Tats只是我在寻找的欢呼声根本无法发现它。Tats只是我在寻找的欢呼声根本无法发现它 SELECT TOP (100) PERCENT dbo.Prop


返回多个值。请尝试从视图中删除此函数调用,并查看视图是否与函数调用一起正常工作….?然后您很容易发现函数与errorSide之间没有连接注意:
TOP 100%。。。ORDER BY
是一种黑客行为,可能会也可能不会产生任何有意义的结果排序。保证查询中返回结果的顺序的唯一可靠方法是在最外层的查询(例如,使用此视图的查询)上有一个
order BY
。Tats只是我在寻找的欢呼声根本无法发现它。Tats只是我在寻找的欢呼声根本无法发现它
SELECT  TOP (100) PERCENT dbo.PropertyMaster.PropertyID, 
        dbo.Lookup_PropertyManager.Description, dbo.Lookup_PropertyManager.Email, 
        dbo.GetFullAddress(dbo.PropertyMaster.PropertyID) AS FullAddress, 
        dbo.Tenants.TenantID, dbo.Tenants.LeaseID, 
        dbo.Tenants.TenantForeName + ' ' + dbo.Tenants.TenantSurname AS FullName, 
        dbo.PropertyMaster.SPMReference, 
        CONVERT(varchar, dbo.PropertyLease.StartDate,101) AS StartDate, 
        CONVERT(varchar, dbo.PropertyLease.DateSigned, 101) AS DateSigned
FROM  dbo.PropertyLease 
      RIGHT OUTER JOIN dbo.PropertyMaster 
             ON dbo.PropertyLease.PropertyID = dbo.PropertyMaster.PropertyID 
      LEFT OUTER JOIN dbo.Tenants 
             ON dbo.PropertyMaster.PropertyID = dbo.Tenants.PropertyID 
      LEFT OUTER JOIN dbo.Lookup_PropertyManager 
    ON dbo.PropertyMaster.PropertyManagerID = dbo.Lookup_PropertyManager.PropertyManagerID
ORDER BY dbo.PropertyMaster.PropertyID
ALTER FUNCTION [dbo].[GetFullAddress] 
    -- Add the parameters for the function here
    (@PropertyID as integer )
RETURNS varchar(250) 
AS
BEGIN
DECLARE @AddressLine as varchar(40)
DECLARE @FullAddress as varchar(250)
SET @FullAddress = (SELECT LTRIM(ISNULL(TenantForeName + ' ', ' ') + TenantSurname) AS FullName FROM Tenants  WHERE PropertyID = @PropertyID) + CHAR(10)


SET @AddressLine = (SELECT ISNULL(AddressLine1, '') FROM PropertyMaster WHERE PropertyID = @PropertyID)
SET @FullAddress = @FullAddress + @AddressLine + CHAR(10)
        SET @AddressLine = (SELECT  ISNULL(AddressLine2, '') FROM PropertyMaster WHERE PropertyID = @PropertyID)
IF @AddressLine <> ''
    BEGIN
        SET @FullAddress = @FullAddress + @AddressLine + CHAR(10)
    END
        SET @AddressLine = (SELECT  ISNULL(AddressLine3, '') FROM PropertyMaster WHERE PropertyID = @PropertyID)
IF @AddressLine <> ''
    BEGIN
        SET @FullAddress = @FullAddress + @AddressLine + CHAR(10)
    END
SET @AddressLine = (SELECT ISNULL(Town, '' ) FROM PropertyMaster WHERE PropertyID = @PropertyID)
IF @AddressLine <> ''
    BEGIN
        SET @FullAddress = @FullAddress + @AddressLine + CHAR(10)
    END
SET @AddressLine = (SELECT ISNULL(PostCode, '') FROM PropertyMaster WHERE PropertyID = @PropertyID)
SET @FullAddress = @FullAddress + @AddressLine

RETURN @FullAddress
END
SET @FullAddress = (SELECT LTRIM(ISNULL(TenantForeName + ' ', ' ') + TenantSurname) AS FullName FROM Tenants  WHERE PropertyID = @PropertyID) + CHAR(10)
SET @FullAddress = (SELECT TOP 1 LTRIM(ISNULL(TenantForeName + ' ', ' ') + TenantSurname) AS FullName FROM Tenants  WHERE PropertyID = @PropertyID) + CHAR(10)
SELECT @FullAddress = COALESCE(@FullAddress, '') 
       + LTRIM(ISNULL(TenantForeName + ' ', ' ') + TenantSurname) AS FullName 
FROM   Tenants  
WHERE  PropertyID = @PropertyID) + CHAR(10)
SELECT @FullAddress = @FullAddress + CHAR(10) +
       ISNULL(AddressLine1 + CHAR(10), '')  +
       ISNULL(AddressLine2 + CHAR(10), '') +
       ISNULL(AddressLine3 + CHAR(10), '') +
       ISNULL(Town + CHAR(10), '' ) + 
       ISNULL(PostCode, '')
FROM PropertyMaster WHERE PropertyID = @PropertyID