何らかの理由により、私はテーブルを変更したり、データを更新することができません。ここで問題:SQLServerによる注文IGNORE NULL値
私は以下のmenu_user
表があります。
userID menuID
(null) 2
(null) 3
1 3
2 1
3 2
4 5
5 0
userID
とmenuID
重複していません。問題はORDER BY userID, menuID
ですが、userID
にNULL値がある場合、同じmenuID
を持つ別の行が検索され、この行の後に配置されます。 menuID
だけで最大2同じ値を持っており、それが持っている場合は、別の一つはNULLでなければなりません
期待されるため結果:ここで
userID menuID
1 3
(null) 3
2 1
3 2
(null) 2
4 5
5 0
スクリプトのサンプル: の場合を追加しました
CREATE TABLE [dbo].[menu_user](
[userID] [int] NULL,
[menuID] [int] NULL
);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (NULL, 3);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (1, 3);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (2, 1);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (3, 2);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (4, 5);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (5, 0);
INSERT [dbo].[menu_user] ([userID], [menuID]) VALUES (NULL, 2);
可能であれば、私はこのスクリプトをView(変数なしのSELECT)として欲しいです。
ありがとうございました。
ビューとして表示することはできません。ビュー(テーブルのような)には固有の順序はありません。この質問はすべてオーダーについてのものなので、うまくいきません。 –
@Damien_The_Unbeliever:あなたはそれが正しいと思う、ありがとう。 –