2017-11-09 1 views
-2

私はmysqlの最初のテーブルのイメージを持っています。テーブル番号2の上記のイメージフォーマットの出力が必要です。同じ質問をしてください。私はいくつかの回避策を試していますが、希望の出力を得ることはできません。 MySQLは、再帰的な機能を持っていないのでアドバンスデータ列のリーチ終了年まで行をインクリメントするMysqlクエリ

+1

ほとんどの人がフォーマットされたテキストではなく画像たい(または画像へのリンクを。) – jarlh

+0

を参照してくださいhttps://meta.stackoverflow.com/questions/ 333952/what-should-i-provide-an-mcve-for-what-like-to-a-very-simple-sql-query。ただし、データ表示に関する問題(このような問題)は、一般に、アプリケーションコードで最もよく解決されます。 – Strawberry

+0

私はこれをデータベースで行う必要があります。どんな助けも高く評価されます。 –

答えて

0

enter image description here

おかげで、あなたは、例えばYearsをテーブルを作成する必要があり、そして年でそれを埋める2010年から例えば(あなたのデータに応じた範囲 - 2017)。あなたのテーブルへ

Years表を作成したら、LEFT JOINそれはここ

declare @tbl as table (
    car varchar(15) 
    ,model varchar(15) 
    ,startY int 
    ,endY int 
) 

declare @years as table(year int) 

insert into @tbl values ('audi', 'a1', 2012, 2016) 

insert into @years values (2010); insert into @years values (2011) 
insert into @years values (2012); insert into @years values (2013) 
insert into @years values (2014); insert into @years values (2015) 
insert into @years values (2016); insert into @years values (2017) 

SELECT 
    A.car 
    ,A.model 
    ,B.year as Model2 
FROM @tbl A 
LEFT JOIN @years B 
    ON B.year BETWEEN A.startY AND A.endY 
+0

完璧に動作します。ありがとう –

関連する問題