MySQL:选择多个字段
如果SQL查询包含我需要的所有字段,它将非常大。 如何在SQL查询中选择从F3到F100以及从F150到F200的字段MySQL:选择多个字段,mysql,sql,Mysql,Sql,如果SQL查询包含我需要的所有字段,它将非常大。 如何在SQL查询中选择从F3到F100以及从F150到F200的字段 SELECT F3 to F100, F150 to F200 FROM database; 有没有可能??? 表结构更改不可用您必须: 1-手动选择所有列。或 2-do 然后只获取所需的列。没有快捷方式,您必须以某种方式列出所需的字段。如果所选字段始终相同,则应为其创建一个视图,如下所示: CREATE VIEW SomeView AS SELECT F3,
SELECT F3 to F100, F150 to F200 FROM database;
有没有可能???
表结构更改不可用您必须:
1-手动选择所有列。或
2-do
然后只获取所需的列。没有快捷方式,您必须以某种方式列出所需的字段。如果所选字段始终相同,则应为其创建一个视图,如下所示:
CREATE VIEW SomeView AS
SELECT
F3,
...
F100
FROM
SomeTable
然后选择like:
SELECT * FROM SomeView
但同样,您必须至少列出一次字段。从数据库中选择F3到F100、F150到F200 无法执行此查询 必须指定所有列的名称 如从数据库中选择F1、f2、f3 你不能 但如果无法修改表结构来解决数据库设计问题,则可以使用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
在其中添加一个过滤器,以便仅选择所需字段。select*FROM database听起来像是一个糟糕的表设计。有可能改变它吗?我不认为你可以有捷径,而且正如@juergen所提到的,似乎是一个糟糕的桌子设计。你们能发布你们的表格结构吗?你们能想到哪些列应该是其中的一部分吗?也许是类似于每秒钟或类似的东西?
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