有没有办法可以:
SELECT (SELECT * from table2) FROM table1
在table2中,我有一个列表,我想从table1中选择,如下所示:
本周2015年4月24日开始,2015年1月31日开始,2015年07月02日开始,2015年2月2日开始,2015年2月2日开始,2015年2月28日开始,周开始2015年7月31日,2015年3月3日开始,2015年3月21日开始,2015年3月28日开始,2015年04月04日开始,周开始11/04/2015
解决方法:
我认为这个答案包含您正在寻找的信息:
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
来源: https://codeday.me/bug/20190708/1401137.html