Отображение определенных столбцов в таблицах SQL - PullRequest
0 голосов
/ 27 октября 2018

Как я могу отображать только специфические столбцы из INFORMATION_SCHEMA.COLUMNS схемы?

Ex:

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

Возвращает:

+-------------+
|             |
| COLUMN_NAME |
+-------------+
|    a        |
|    b        |
|    c        |
|    d        |
|    e        |
+-------------+

Как показать только столбцы a и e?

Ответы [ 4 ]

0 голосов
/ 27 октября 2018

Вы можете использовать INFORMATION_SCHEMA.COLUMNS, как показано ниже

USE Test
GO
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'SalesTerritory'
AND COLUMN_NAME = 'Region'
0 голосов
/ 27 октября 2018

Добавить еще одно условие, где

SELECT COLUMN_NAME    
FROM INFORMATION_SCHEMA.COLUMNS    
WHERE TABLE_NAME = 'rate_Structure' and COLUMN_NAME in ('a','c')    
ORDER BY ORDINAL_POSITION
0 голосов
/ 27 октября 2018

как показать только столбцы a и e

Проще, отфильтровав результаты в предложении WHERE как

SELECT COLUMN_NAME    
FROM INFORMATION_SCHEMA.COLUMNS    
WHERE TABLE_NAME = 'rate_Structure' and COLUMN_NAME in ('a','e') 
-- You can also use: and (COLUMN_NAME = 'a' or COLUMN_NAME = 'e')    
ORDER BY ORDINAL_POSITION

Вам нужно добавить условие, чтобы получить то, что вам нужно, and COLUMN_NAME in ('a','e') вернет только COLUMN_NAME имеет 'a' или 'e' значение.

0 голосов
/ 27 октября 2018

Вам необходимо добавить дополнительные условия, такие как:

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'rate_Structure'  
  AND data_type = 'int'    -- condition to get only specific columns
ORDER BY ORDINAL_POSITION;
...