首页 > 解决方案 > 仅使用 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

解决方案


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;

推荐阅读