私は例えば、人の詳細を保持しますMySQLのテーブルを持っている:SQL好適列
- 名前
- 住所
- WorkEmail
- HomeEmail
- 優先メール( 'WorkEmail' または ' HomeEmail ')
希望のメールのみを選択します。 SQLを使用してこれを行うためのきちんとした方法はありますか?または私はデータを取り出した後にこれを行う必要がありますか?
SELECT PreferredEmail FROM people;
私は例えば、人の詳細を保持しますMySQLのテーブルを持っている:SQL好適列
希望のメールのみを選択します。 SQLを使用してこれを行うためのきちんとした方法はありますか?または私はデータを取り出した後にこれを行う必要がありますか?
SELECT PreferredEmail FROM people;
シンプルcase文は、トリックを行う必要があります:
これは単純なクエリである
SELECT
Name,
CASE WHEN PreferredEmail = 'WorkEmail' THEN WorkEmail ELSE HomeEmail END AS Email
FROM
MyTable
質問を誤解しているようです。 – Karlson
(Select WorkEmail from MyTable where preferredEmail = 'WorkEmail')
Union
(Select HomeEmail from MyTable where preferredEmail = 'HomeEmail')
はAS IF(PreferredEmail = 'WorkEmail'、WorkEmail、HomeEmail)を選択しますメール
なぜ複数のメールのリストが必要ですか?複数のメールアドレスを収集していて、いつでも複数のメールを収集したい場合は、可能なすべてのメールアドレスにユーザーを関連付けるセカンダリテーブルを作成し、2番目の第3列を指定することができますプライマリ電子メール。
メインテーブル
- UID
- Name
- Address
メールテーブル
- UID
- Email address
- Primary
次に、あなただけの一次のフラグが設定されている場所のためのクエリを実行し、一意のID上の他に参加することができます。
驚くばかり!トリックをうまくやった。乾杯!私はまだそれはSQLになると少しのnoobのちょっとだよ –
あなたは大歓迎です!あなたは正しい答えとしてマークすることもできます... ;-) – paulbailey