Sql 当列名是我的表名而不是我的列名时,继续获取无效的列名预订

Sql 当列名是我的表名而不是我的列名时,继续获取无效的列名预订,sql,sql-server-2005,Sql,Sql Server 2005,我之所以一直编写ABC文件,是因为我需要将存储过程存储在不同的数据库中。使用别名(t已经是别名) as关键字是可选的 祝您愉快。我建议您使用表别名。此外,它看起来是其他代码的一部分(END语句不是SELECT的一部分)。您确定错误不在代码的另一行吗?Msg 4104,级别16,状态1,过程unpaidbookings,第15行无法绑定多部分标识符“dbo.BOOKINGS.BOOKNO”。这并不是说BOOKINGS是一列。。。您确定BOOKNO作为列存在于表中吗?abcfiles数据库可以设置为

我之所以一直编写ABC文件,是因为我需要将存储过程存储在不同的数据库中。

使用别名(
t
已经是别名)

as
关键字是可选的


祝您愉快。

我建议您使用表别名。此外,它看起来是其他代码的一部分(END语句不是SELECT的一部分)。您确定错误不在代码的另一行吗?Msg 4104,级别16,状态1,过程unpaidbookings,第15行无法绑定多部分标识符“dbo.BOOKINGS.BOOKNO”。这并不是说BOOKINGS是一列。。。您确定BOOKNO作为列存在于表中吗?abcfiles数据库可以设置为区分大小写,在这种情况下,它可能都是正确的名称,但大小写错误
SELECT
    *
FROM
(
    SELECT
        abcfiles.dbo.diary.BOOKNO,
        abcfiles.dbo.BOOKINGS.PARTY,
        abcfiles.dbo.BOOKINGS.DEPART,
        abcfiles.dbo.BOOKINGS.DEP7,
        abcfiles.dbo.BOOKINGS.BOOKED,
        abcfiles.dbo.BOOKINGS.BOOK7,
        abcfiles.dbo.BOOKINGS.APRICE,
        abcfiles.dbo.BOOKINGS.PAID,
        abcfiles.dbo.DIARY.ADDED,
        abcfiles.dbo.DIARY.ADDED7,
        abcfiles.dbo.DIARY.TEXT,
        ROW_NUMBER() OVER(PARTITION BY abcfiles.dbo.BOOKINGS.BOOKNO ORDER BY abcfiles.dbo.diary.ADDED DESC) AS RowNum
    FROM
        abcfiles.dbo.BOOKINGS
    INNER JOIN abcfiles.dbo.DIARY ON abcfiles.dbo.BOOKINGS.BOOKNO = abcfiles.dbo.DIARY.BOOKNO
    WHERE
    (
        abcfiles.dbo.BOOKINGS.PAID IS NULL
    ) OR
    (
        abcfiles.dbo.BOOKINGS.PAID = 0
    )
) t     
WHERE
    t.RowNum = 1 
END
SELECT * FROM (
    SELECT
        b.BOOKNO, b.PARTY, b.DEPART, b.DEP7, b.BOOKED, b.BOOK7, b.APRICE, b.PAID,
        d.ADDED, d.ADDED7, d.TEXT,
        ROW_NUMBER() OVER(PARTITION BY b.BOOKNO ORDER BY d.ADDED DESC) AS RowNum      
     FROM abcfiles.dbo.BOOKINGS as b
    INNER JOIN abcfiles.dbo.DIARY as d ON b.BOOKNO = d.BOOKNO
    WHERE (b.PAID IS NULL)
       OR (b.PAID = 0)) t     
WHERE t.RowNum = 1