#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
Добавьте фильтр, в котором можно выбирать только нужные поля.