mysql - 仅使用 1 个语句从 2 个具有条件的表创建列表
问题描述
我创建了 2 个表 A 和 B,如下所示:
A B
Name Name
Burger Avocado
Beef Crab
Potato. Pizza
我想创建一个列表,该列表仅使用 1 个语句返回 2 个长度> 5 的表中的名称。
我的代码:
SELECT A.Name,B.Name
INTO LIST
FROM A,B
WHERE LENGTH(A.Name)>5 AND LENGTH(B.Name)>5;
错误:未声明的变量 LIST。
我的问题是如何声明 LIST 但仍然只使用 1 个语句来解决这个问题。
谢谢
解决方案
MySQL 不支持SELECT INTO
. 如果表 LIST 已经创建,我认为您需要的是:
INSERT INTO LIST
SELECT Name FROM A WHERE LENGTH(Name) > 5
UNION
SELECT Name FROM B WHERE LENGTH(Name) > 5;
如果表 LIST 尚不存在,您可以这样做:
CREATE TABLE LIST
AS
SELECT Name FROM A WHERE LENGTH(Name) > 5
UNION
SELECT Name FROM B WHERE LENGTH(Name) > 5;