[ColdFusion] クエリー(5/5)

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

例題

次のテーブルがあります。

Type 1 2 3
Name テニス 野球 サッカー

 

別のテーブルがあります。

Type 3 4 5
Name サッカー バレーボール 卓球

 

それぞれのクエリを作成し結合。それぞれのクエリを確認

解答

<cfset type = [1,2,3]>
<cfset name = ["テニス","野球","サッカー"]>
<cfset qry1 = QueryNew("")>
<cfset QueryAddColumn(qry1, "type", "integer", type)>
<cfset QueryAddColumn(qry1, "name", "varchar", name)>
<cfset type = [3,4,5]>
<cfset name = ["サッカー","バレーボール","野球"]>
<cfset qry2 = QueryNew("")>
<cfset QueryAddColumn(qry2, "type", "integer", type)>
<cfset QueryAddColumn(qry2, "name", "varchar", name)>
<cfquery name="qry3" dbtype="query">
select * from qry1
union
select * from qry2
</cfquery>
<cfdump var="#qry1#" label="qry1">
<cfdump var="#qry2#" label="qry2">
<cfdump var="#qry3#" label="union qry">

 

上記の場合は、重複データを除いて結合したものです。
重複データは除かず、Typeを大きい順にしてみます。

<cfquery name="qry3" dbtype="query">
select * from qry1
union all
select * from qry2
order by type desc
</cfquery>

 

order by は、結合した結果に対して行っています。

クエリーの扱いが一番便利です。
他の言語はどうしているんでしょうねぇ。。。

  • このエントリーをはてなブックマークに追加
  • 人気ブログランキング

この記事に関連する記事一覧

最近の投稿
カテゴリー
タグ
アーカイブ
プロフィール