NewsPaperDateの下の1つの列にのみ挿入される、特定の値に対して2つの新聞発行日が存在する可能性があるテーブルがあります。残りのすべての値が複製されます。次に、2つのNewsPaperDate値を2つの列(NewsPaperDate1とNewsPaperDate2)の下の単一の行に表示し、残りの値を表示するクエリを作成する必要があります。誰かがこれを手伝うことができますか?データベースはSQLServerです テーブル構造は
質問する
726 次
3 に答える
4
テーブルをそれ自体に結合する必要があります。これを行うにはさまざまな方法がありますが、スクリーンショットに基づいて行うことができます。
select
a.yonja_no,
a.newspaper_date as newspaperdate1,
b.newspaper_date as newspaperdate2
from newspapertable a, newspapertable b
where a.yonja_no = b.yonja_no
and a.newspapere_s > b.newspapere_s
;
(編集:コメントを参照)
于 2013-01-16T06:42:44.650 に答える
2
サンプルデータを使用してクエリ実行のフィドルリンクを確認する
create table tab1(newspaperDate number,b number,c number);
INSERT INTO tab1 VALUES(1,2,3);
INSERT INTO tab1 VALUES(2,2,3);
INSERT INTO tab1 VALUES(3,3,4);
SELECT t1.newspaperDate AS date1,t2.newspaperDate AS date2 , t1.b AS b1,t1.c AS c1 FROM tab1 t1 , tab1 t2
WHERE t1.newspaperDate < t2.newspaperDate AND t1.b=t2.b ;
出力
| DATE1 | DATE2 | B1 | C1 |
---------------------------
| 1 | 2 | 2 | 3 |
于 2013-01-16T06:53:45.307 に答える
1
テーブルをそれ自体に結合することは、クエリにとって最良のアプローチです。これを読む
http://www.thunderstone.com/site/texisman/joining_a_table_to_itself.html
于 2013-01-16T07:12:25.867 に答える