gpt4 book ai didi

mysql - 加入什么用?

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:31 25 4
gpt4 key购买 nike

我有 2 个不同的表,其中只有一个字段具有相同的名称(“用户名”)。他们彼此没有关系。我只需要一个查询来选择其中该字段等于给定值的所有行。

我想出了这个,这当然是错误的......SELECT * FROM user AS a FULL JOIN future_user AS b WHERE a.username=x OR b.username=x

我说的是这些表:

CREATE TABLE user
(
uid mediumint(6) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,

username varchar(15) NOT NULL,
password varchar(15) BINARY NOT NULL,
mail varchar(50) NOT NULL,

name varchar(50) NOT NULL,
surname varchar(50) NOT NULL,
birth char(10) NOT NULL,
sex tinyint(1) unsigned NOT NULL default 1,

address varchar(50) NOT NULL,
city varchar(50) NOT NULL,
zip char(5) NOT NULL,
province varchar(50) NOT NULL,
country tinyint(3) NOT NULL,

number1 varchar(50) NOT NULL,
number2 varchar(50) NOT NULL,

last_login TIMESTAMP,
registered TIMESTAMP,
online tinyint(1) unsigned default 0,

admin tinyint(1) unsigned default 0,
comment_allowed tinyint(1) unsigned default 0,
post_allowed tinyint(1) unsigned default 0

) ENGINE=InnoDB;

CREATE TABLE future_user
(
username varchar(15) NOT NULL,
password varchar(15) BINARY NOT NULL,
mail varchar(50) NOT NULL,

name varchar(50) NOT NULL,
surname varchar(50) NOT NULL,
birth char(8) NOT NULL,
sex tinyint(1) unsigned NOT NULL,

address varchar(50) NOT NULL,
city varchar(50) NOT NULL,
zip char(10) NOT NULL,
province varchar(50) NOT NULL,
country varchar(50) NOT NULL,

number1 varchar(50) NOT NULL,
number2 varchar(50) NOT NULL,

code char(10) NOT NULL

) ENGINE=InnoDB;

最佳答案

使用UNION:

SELECT
fields
FROM
user
WHERE
user.username=x
UNION
SELECT
fields
FROM
future_user
WHERE
future_user.username=x

请注意,您不能在其中任何一个中执行 SELECT *,因为它们具有不同的字段。您需要从两个子查询返回相同的字段。

关于mysql - 加入什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6180668/

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