0

2 つの select ステートメントがあります

SELECT username, password FROM users WHERE username='$Uname'

SELECT email_address FROM users WHERE email_address='$email'

一度にすべての結果を取得するためにどのステートメントを使用できますか?

結果としてのユーザー名[0]、結果としてのパスワード[1]、および結果としての電子メールアドレス[2]

よりよく説明するために。

データベースにユーザー名のレコードが既に存在するかどうかを確認したい場合は、パスワードを取得し、パスワードに email_address のレコードがあるかどうかも確認して、ユーザーがユーザー名または電子メールの重複を許可されていないことを確認しますアドレス。

4

4 に答える 4

1

「または」条件が必要だと思います:

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'
于 2012-08-14T14:25:38.803 に答える
1

ユニオン クエリは、複数の選択クエリの結果を結合します。

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services;
于 2015-12-15T05:29:36.177 に答える
0

電子メールアドレス(2番目のステートメント変数)をすでに知っている場合、なぜステートメントがそれを再び返すようにしたいのですか?

于 2012-08-14T14:00:46.837 に答える
0

あなたが何をしようとしているのかはわかりませんが...

SELECT u1.username, u1.password, u2.email_address 
from users u1, users u2
where u1.username='$UName'
and u2.email_address == '$email'

2 番目のクエリが、渡した値を返すだけだとすると....

SELECT username, password, '$email' as email_address FROM users WHERE username='$Uname'  
于 2012-08-14T14:02:15.603 に答える