gpt4 book ai didi

mysql - 从表 1 和表 2 中选择的 SQL 查询?

转载 作者:行者123 更新时间:2023-11-29 04:11:06 24 4
gpt4 key购买 nike

我正在努力寻找我想要运行的查询的答案。我要

SELECT * FROM users AND tempusers WHERE username='joe'

两个表都有一个名为用户名的列。我一直遇到 SQL 1064 语法错误,这对我帮助不大。

数据库结构:

数据库名称:mydb

:用户:id、用户名、电子邮件、密码。

:tempusers:id、用户名、电子邮件、密码、激活码。

最佳答案

您遇到的错误是因为您无法从 table1 AND table2 中进行选择;这通常不是有效的 SQL 语法。 (我说“通常”是因为 MySQL 有一些大多数其他数据库不使用的专有语法。)

JOIN 似乎不会起作用,因为您没有描述表之间的那种关系。

如果两个表具有完全相同的结构(列名和类型以及相同的列数),这应该有效:

SELECT * FROM users WHERE username = 'joe'
UNION ALL
SELECT * FROM tempusers WHERE username = 'joe'

如果表没有完全相同的架构,您必须至少在第一个表中命名列SELECT:

SELECT 
username, id, username, email, password, '' as activationcode
FROM
users
WHERE
username = 'joe'
UNION ALL
SELECT
username, id, username, email, password, activationcode
FROM
tempusers
WHERE
username = 'joe'

您可能必须在第一个选择中为 activationcode 提供空格代替 '',或者为 使用正确类型的值activationcode 列,如果它不是字符列(例如,0 表示整数列)。

关于mysql - 从表 1 和表 2 中选择的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875626/

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