2016-04-22 4 views
-2

私は報告のためにt-SQLを使用しており、構文に関する質問がありました。私はちょうどジョイン、エイリアス、ケースステートメント、注文などのより中間のSQLのもののいくつかを学び始めました。構文:t-SQLエイリアス設定でcaseまたはif-then-elseを使用していますか?

私は人のデータを引き出す必要があるテーブルがあります。データを引き出すときは、関連するすべての人を引き出し、属性に基づいて人のリストをソートする必要があります。次に私は人のデータを2つの変数(エイリアス)に保存したいと思います。ある人物には「応募者」という属性があり、その情報にはエイリアスを付け、他の人物と区別して保存する必要があります。他の人はすべて単一のリストに格納する必要があります。 SQLでこれを行う良い方法はありますか?ここで私は答えとしてマーキングこの

case when persontable.TYPE = 'Applicant'then persontable.name as applName, persontable.otherAtt as applOtherAtt --etc 
else persontable.name --add to a list and alias as otherNames 
+0

質問を理解するのはちょっと難しいです(私にとっては、少なくとも)。あなたのテーブルの構造、いくつかのサンプルデータ、そしてそのサンプルのために得たい結果を共有してください。 – Mureinik

+0

@Mureinik申し訳ありませんが、私はテーブル構造を共有することはできません。私は上のモックアップでかなり良い仕事をしたと思っていましたが、あなたを混乱させるのは何ですか? データベースから人を引っ張った場合person =申請者の場合、申請者の情報をいくつかのエイリアスに保管してください その他の人が申請者でない場合は、申請者以外の人の名前を入力してください。 – TheFunk

+2

2つの変数にデータを格納することについて話すので、あなたの質問は混乱します。擬似コードには変数はありません。変数はスカラデータを保持しているため、複数行のSELECTを設定することはできません。あなたがしようとしていることは本当に不明です。おそらく、これはあなたを助けるでしょう:http://stackoverflow.com/questions/20669192/t-sql-selectcase-vs-if-else-and-explaination-about-begin –

答えて

0

のような擬似コード

select * from persontable 
if persontable.TYPE = 'Applicant' then persontable.name as applName, persontable.otherAtt as applOtherAtt --etc 
else persontable.name --add to a list and alias as otherNames 

か何かに考えていたものだ、簡単に追従可能変数とエイリアスとの違いを見て、いくつかのリンクを備えていたのif-then - 論理を導く。

関連する問題