MySQL: выберите несколько полей

#mysql #sql

#mysql #sql

Вопрос:

Если SQL-запрос содержит все поля, которые мне нужны, он будет очень большим. Как в SQL-запросе я могу выбрать поле от F3 до F 100 и от F150 до F200?

 SELECT F3 to F100, F150 to F200 FROM database;
 

Это возможно или нет???
Изменение структуры таблиц недоступно

Комментарии:

1. ВЫБЕРИТЕ * ИЗ базы данных

2. Это звучит как плохой дизайн таблицы. Можно ли это изменить?

3. Я не думаю, что у вас может быть ярлык, а также, как упоминал @juergen, кажется, плохой дизайн таблицы. Можете ли вы опубликовать свою структуру таблицы?

4. Есть ли какая-нибудь магия, которую вы могли бы придумать для столбца, который должен быть частью? может быть, что-то вроде each second или подобное?

Ответ №1:

Вы должны :

1- вручную выберите все столбцы. Или

2- сделать

     Select * from database
 

А затем просто извлеките нужные вам столбцы.

Ответ №2:

Для этого нет ярлыков, вам нужно будет перечислить поля, необходимые так или иначе. Если выбранные поля всегда одинаковы, вы должны создать представление для этого как:

 CREATE VIEW SomeView AS
SELECT
    F3,
    ...
    F100
FROM
    SomeTable
 

а затем выберите, как:

 SELECT * FROM SomeView
 

Но опять же, вам придется перечислить поля хотя бы один раз.

Ответ №3:

ВЫБЕРИТЕ от F3 до F100, от F150 до F200 ИЗ базы данных;

этот запрос невозможен..

вы должны указать имя всех столбцов

например, выберите F1, f2, f3 из базы данных;

Ответ №4:

Вы не можете.

Но если невозможно изменить структуру таблицы, чтобы устранить проблему с дизайном базы данных, вы можете использовать SQL-запрос для генерации запроса MySQL:

  SELECT CONCAT('SELECT ', GROUP_CONCAT(COLUMN_NAME), ' FROM `your table`') 
 FROM information_schema.COLUMNS
 WHERE TABLE_SCHEMA = 'your schema' and TABLE_NAME = 'your table'
 GROUP BY TABLE_NAME
 

Добавьте фильтр, в котором можно выбирать только нужные поля.