6

方法

select name,family from student where name="X" 

列名なし。

例えば ​​:

select "column1","column2" from student where "column1"="x"

または例えば

select "1","2" from student where "1"="x"

"1" は column1 "2" は column2

列名は言いたくない。私はただその数か他のものを言いたい.... idの選択に疲れていない*。しかし、そのためだけに、列の名前はわかりませんが、それらがどこにあるかは知っています。ファイルを読み取るたびに列名が変更されますが、そのデータは同じであり、データは各ファイルの同じ列にあります。

4

6 に答える 6

3

SELECT ステートメントでフィールド位置指定子を使用することはできませんが、SQL 標準には、テーブルのディクショナリが定義されている INFORMATION_SCHEMA が含まれています。これには、すべてのテーブルのすべてのフィールドが定義されている COLUMNS ビューが含まれます。このビューには、この問題を支援するために使用できる ORDINAL_POSITION というフィールドがあります。

クエリすると

SELECT ORDINAL_POSITION, COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TABLE'
ORDER BY ORDINAL_POSITION

次に、必要な序数位置の列名を取得できます。そこから、SQL ステートメントを準備できます。

于 2013-04-06T08:52:17.647 に答える
0

いいえ、SELECT 句で序数 (数値) の位置を使用することはできません。ご注文でのみ可能です。

ただし、独自の列エイリアスを作成できます...

Select Column1 as [1] From Table
于 2013-04-06T07:56:11.880 に答える