gpt4 book ai didi

MYSQL SELECT语句新手

转载 作者:可可西里 更新时间:2023-11-01 07:39:23 25 4
gpt4 key购买 nike

有什么办法可以:

SELECT (SELECT * from table2) FROM table1

table2 中,我有一个要从 table1 中选择的列的列表,如下所示:

一周从 2015 年 1 月 24 日开始一周从 2015 年 1 月 31 日开始一周从 2015 年 7 月 2 日开始一周从 2015 年 2 月 14 日开始一周从 2015 年 2 月 21 日开始一周从 2015 年 2 月 28 日开始一周从 07/开始03/2015,从 2015 年 3 月 14 日开始的一周,从 2015 年 3 月 21 日开始的一周,从 2015 年 3 月 28 日开始的一周 code>,从 2015 年 4 月 4 日开始的一周,从 2015 年 4 月 11 日开始的一周

最佳答案

我认为这个答案有您正在寻找的信息:

How to select column names dynamically in mySQL :

试试这个 SQLFiddle :

CREATE TABLE atable (
prefix1 VARCHAR(10)
,prefix2 VARCHAR(10)
,notprefix3 INT
,notprefix4 INT
);

INSERT INTO atable VALUES ('qwer qwer', 'qwerqwer', 1, 1);
INSERT INTO atable VALUES ('qwer qwer', 'asdfaasd', 1, 1);
INSERT INTO atable VALUES ('qwer qwer', 'qrt vbb', 1, 1);
INSERT INTO atable VALUES ('qwer qwer', 'sdfg sdg', 1, 1);

SELECT CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM atable;')
INTO @query
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_NAME = 'atable'
AND c.COLUMN_NAME LIKE 'prefix%'
ORDER BY c.ORDINAL_POSITION;

PREPARE stmt FROM @query;

EXECUTE stmt;

一些问题:

您可能希望对结果集使用某种 ORDER BY。

在连接和事物方面,您可以做的事情是有限的。

您将验证移至运行时,它更有可能被测试遗漏。

您希望能够轻松处理架构更改。此技术将仅处理您可以预见的特定类型的架构更改,而其他类型的更改您可能无论如何都必须更改此代码。

关于MYSQL SELECT语句新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29826985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com