Mysql 合并单个表上多个select语句的结果
我有两个选择语句Mysql 合并单个表上多个select语句的结果,mysql,sql,select,join,Mysql,Sql,Select,Join,我有两个选择语句 SELECT username, password FROM users WHERE username='$Uname' 及 我可以使用什么语句一次获得所有结果,即 用户名作为结果[0],密码作为结果[1],电子邮件地址作为结果[2] 为了更好地解释 我想检查我的数据库中是否已经有用户名的记录,如果是,那么抓取密码,然后检查密码中是否也有电子邮件地址的记录,以确保用户不允许有重复的用户名或电子邮件地址。如果您已经知道电子邮件地址的第二个语句变量,那你为什么希望你的声明再次返回
SELECT username, password FROM users WHERE username='$Uname'
及
我可以使用什么语句一次获得所有结果,即
用户名作为结果[0],密码作为结果[1],电子邮件地址作为结果[2]
为了更好地解释
我想检查我的数据库中是否已经有用户名的记录,如果是,那么抓取密码,然后检查密码中是否也有电子邮件地址的记录,以确保用户不允许有重复的用户名或电子邮件地址。如果您已经知道电子邮件地址的第二个语句变量,那你为什么希望你的声明再次返回呢?我不知道你想做什么,但是
SELECT u1.username, u1.password, u2.email_address
from users u1, users u2
where u1.username='$UName'
and u2.email_address == '$email'
假设您的第二个查询只是返回您传入的值
SELECT username, password, '$email' as email_address FROM users WHERE username='$Uname'
我认为您需要一个或一个条件:
SELECT username, password, email_address
FROM users
WHERE username='$Uname' or email_address='$email'
您可以使用相关子查询检查电子邮件是否存在:
SELECT username, password, email_address
(select (case when count(*) > 0 then 'SHARED' else 'UNIQUE' end)
from users u2
where u.email_address = u2.email_address and
u.username <> u2.user_name
) as SharedOrUnique
FROM users u
WHERE username='$Uname' or email_address='$email'
联合查询组合了多个select查询的结果
除非您使用的是正确的,否则您是在祈祷您的用户永远不要输入任何可以解释为SQL的内容。像这样的代码永远不应该投入生产。你能再解释一下吗。谢谢你的电子邮件lol@gmail.com'; 删除表用户;-可能会杀死你的应用程序,或是任何碰巧包含'的电子邮件。您绝对必须转义进入SQL语句的任何和所有用户提供的数据。如果您使用的是PHP,请使用PDO或mysqli。永远不要使用mysql\u查询。这非常危险。为每个用户数据使用占位符,您将不会有任何问题。这是一个注册页面,所以我想检查数据库中是否已经存在用户名和电子邮件地址u1和u2是什么意思?我想这更接近我要找的,但我想获取该用户名的用户名和密码,然后检查我的数据库中是否已经存在该电子邮件地址。我很困惑。电子邮件地址来自哪里?它不是已经在用户的记录中了吗?你的意思是,电子邮件地址是否在其他记录上?
SELECT username, password, email_address
(select (case when count(*) > 0 then 'SHARED' else 'UNIQUE' end)
from users u2
where u.email_address = u2.email_address and
u.username <> u2.user_name
) as SharedOrUnique
FROM users u
WHERE username='$Uname' or email_address='$email'
SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services;