Question: ```
SELECT DISTINCT (upper(cd)) FROM Table where end_date > '08-12-2013'

```

and

```
SELECT DISTINCT upper(cd) FROM Table where end_date > '08-12-2013'

```

The results of both the queries are same but the order varies. Is there any explanation to it ?

Answer: 
I have answered a very similar question previously, which details how you can open a new window from your view model, whilst maintaining the separation of concerns that the MVVM pattern promotes. I hope this helps: [Open a new Window in MVVM](https://stackoverflow.com/questions/16652501/open-a-new-window-in-mvvm/16653029#16653029)
You are allowed to break the rule. You don't have to follow MVVM completely.
I am always using commands to create a new view. You could even create an event (Amagosh, did he just say that!?) for when you click on a button.
I mean, this is just my opinion, I guess it depends on the style programming you're into.