SQL Server 2008のOrder byは、union句で直接利用できない
要件によると、各上位20を取る、それはランダムなテイクなので、SQL Serverの順序newid()は、それだし、その上にすべてのデータの労働組合。だから、私はすぐに答えを与えた。
selecttop 20 *fromxxxwheretype=1orderbynewid()
union
selecttop 20 *fromxxxwheretype=0orderbynewid()
しかし、SQLクエリパーサーの種類は正しくありません、構文が間違っている、一見すると、私はそこに問題はないと思う、右か?
selecttop 20 *fromxxxwheretype=1orderbynewid()
というのは、それ単体では問題ないのですが
次の半分の文も同じ構文構造で、エラーはありません。しかし、2つのクエリを一体化すると、間違ってしまうのです。それはおかしい。順序の近くに誤りがあることを示唆しているので、順序を削除することにします。
削除してもエラーにならずに動作しています。つまり、union句のクエリはSQL Server Order byを使用できないのですが、ここではorder byを使用しなければならず、そうでなければ20行をランダムに取得することはできません。
最終的に書き換えたのは
SELECT * FROM
(select TOP 20 * from dbo.AngelExam where (c='none' or c=null) and (d='none' or d=null) ORDER BY newid() ) a1
UNION
SELECT * FROM
(select TOP 20 * from dbo.AngelExam where (c='none' or c=null) and (d='none' or d=null) ORDER BY newid()) a2
文が長くなるのはちょっと気持ち悪いですが、無理ですね。SQL Serverではなぜかunion句でorder byが使えないので、外側のレイヤーをラップする必要があるんです。
SQL Server 2008のOrder by in the union clauseに関するこの記事は、より関連するSQL Server 2008のOrder by in the union clauseを直接使用することはできませんが、BinaryDevelopの以前の記事を検索してくださいまたは次の関連記事を閲覧し続けるあなたは、将来的に多くをサポートすることを願っています!. BinaryDevelop!
関連
-
SQLServer 2008 データ挿入・更新用ストアドプロシージャ
-
sqlserver 2008 データベースに接続する Java コード
-
win2008 r2 install SQL SERVER 2008 R2 can't open port 1433 設定方法
-
sql server 2008 sa パスワードを忘れた場合の解決策
-
SQLにおけるpatindex関数の使用方法を詳しく説明します。
-
SQL Server 2008 ExpressおよびManagement Studio Expressのダウンロード、インストール、構成に関するチュートリアル
-
Sql Server 2008インストールグラフィックチュートリアル
-
SQLServer2008 新規インスタンスのリモートデータベース連携問題(sp_addlinkedserver)
-
sql server 2008のインストールに失敗したときの解決策 旧バージョンを完全にアンインストールしてください。
-
SQLServerウェブサイト構築例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
sql server 2008のレジストリ書き込み失敗、vs2013のコア機能のインストール失敗を解決する。
-
SQL server 2008のログイン認証方式を変更する方法
-
What to do if sql server can't connect SQL Server 2008R can't login solution (181418456)
-
空白の値を他の値に置き換えるSQL
-
Sql Server 2008 Lite (Express) + Management Studio Express 初回インストールと使用方法のグラフィックチュートリアル
-
sqlserver2008 初回ログイン失敗の問題と解決策
-
Sql Server 2008データベースで新しい割り当てユーザーを作成する詳細な手順
-
SQL Server 2012 を 2008R2 にダウングレードする方法
-
SQL 2008のアンインストールに関する問題の解決策(コンピューターの再起動に失敗、SQLのアンインストーラーが見つからない)
-
Sql Server 2008R2アップグレード Sql Server 2012グラフィックチュートリアル