0

クエリを書くことは可能ですか?

SELECT * from table1, table 2, table 3 ... 

ここでtable1.column名前のようなtable2.column名前のようなtable3.column名前

列の名前はわかりません。table1にある列のいずれかを言います。table2のような列名。 table3.column名のような列名

例: 3つのテーブルに共通の列employee id、または3つのテーブルに共通の列である可能性がありますpublisher id

データベースでダイアグラムを使用して外部キーまたは主キーを見つけることができますが、列名と同じタイトルの列のみを表示するクエリを作成したいと思います。

4

3 に答える 3

1

なぜこれを行っているのかわからないので、操作するのは少し難しいですが、データベースには、データベースを説明するテーブルとビューがいくつかあります。

Information_Schema.Columnsは、おそらく開始すべき場所です。これはメタデータであることに注意してください。実際のテーブルのコンテンツが必要な場合は、さらに一歩進んで、動的SQLまたは同等のものを構築する必要があります。

Select Column_Name,Count(*) As NumberOfOccurences From Information_Schema.Columns たとえば、列名とそれらを使用した頻度が表示されます。

于 2013-01-01T19:42:21.303 に答える
1

列名を知っていて、同じ列名が使用されている別のテーブルを知りたい場合は、SQLクエリを次のように記述します

SELECT schema_name(t.[schema_id]) + '.' + t.[name] AS Tables FROM sys.tables t INNER JOIN sys.columns c on t.[object_id] = c.[object_id] WHERE c.[name] = 'Your_Common_Column_Name'

それぞれのスキーマを含むすべてのテーブルリストを取得します

于 2020-02-14T12:00:38.397 に答える
0

列名を取得するには:

select sc.name
from sysobjects so inner join syscolumns sc on so.id = sc.id
where so.name = 'tableName'
于 2013-01-01T19:40:07.757 に答える