私は、誰かが結合でSQL Serverオブジェクトを一意に識別するという概念を説明できるかどうか疑問に思っています。SQL Serverオブジェクト名
私の例では、2つのスキーマと2つのテーブルがありますが(名前は同じです)。私の前提は、テーブル名が2つのスキーマ間で同じであっても、完全修飾名databasename.schemaname.objectnameで参照されている限り、SQLサーバーは違いを明らかにできるはずです。 しかし、そうではないようですが、この回避策は別名を使用することです。
については、誰かが説明したり指摘したりすることができますが、なぜこのような場合は、SQLサーバでこれらのIDを一意に識別できないのでしょうか。ありがとうございます。
CREATE SCHEMA [Sch1]
GO
CREATE SCHEMA [Sch2]
GO
CREATE TABLE [Sch1].[Table_1](
[ID] [int] NULL,
[DESC] [nchar](10) NULL
) ON [PRIMARY]
GO
CREATE TABLE [Sch2].[Table_1](
[ID] [int] NULL,
[DESC] [nchar](10) NULL
) ON [PRIMARY]
GO
Select *
From Sch1.Table_1
Join Sch2.Table_1
on Sch1.Table_1.Id = Sch2.Table_1.Id
を読みますか? – lad2025
FROM句のオブジェクト "DBA_2014.Sch2.Table_1"と "DBA_2014.Sch1.Table_1"の公開名は同じです。相関名を使用してそれらを区別します。 – user2811633
SQL Server 2000または互換性レベル80でコードを試すことはできますか? – lad2025