0

次の 2 つのテーブルがあるとします。

表 1 の列:

フィールド1
1
3

表 2 の列:

フィールド1
2
4

(他の方法で呼び出すこともできますが、table1.field1 の型が table2.field1 と同じであることを表現したいと思います)。

以下を返す SQL クエリを実行することは可能でしょうか?

[1,2,3,4]、私が望む任意の基準によって並べ替えられた番号を意味しますが、その基準は両方のテーブルに適用されます。私の知る限り、ORDER BY は列の値によってのみ ORDER できます。「低い数値から高い数値へ」のような一般的な基準ではありません。たとえそれができたとしても、SELECT 命令は列を融合できないと思います。つまり、私は思うその指示で私が達成できる最善の方法は、[(1,2),(1,4),(3,2),(3,4)] のようなものを取得し、後でそれに取り組むことですが、これは苦痛になる可能性があります多くの結果をもたらします。

また、アプリケーションはフィールドを異なるテーブルに配置する必要があるため、それらをマージできません。

これに対処する方法について何か考えはありますか?

どうもありがとうございました。

編集:

ああ、思ったよりずっと簡単だった。

みんなありがとう。

4

3 に答える 3

3

これがUNION声明の目的です。SELECT2 つのステートメントを同じ結果セットに結合できます。

SELECT Field1
FROM Table1

UNION ALL

SELECT Field1
FROM Table2

ORDER BY 1
于 2013-08-29T18:25:01.997 に答える
0
select  * from
(
  select field1 as field_value from table1
  union
  select field2 as field_value from table2

)
order by field_value asc
于 2013-08-29T18:25:53.740 に答える
0

できますかunion all

以下のように:

Select field 1
from 
   (Select field 1 from Table 1
      Union 
    select field 1 from table 2)
order by field 1

両方のテーブルで要素を繰り返す必要があるかどうかに基づいてunionorを使用します。Union all

于 2013-08-29T18:26:06.857 に答える