2009-07-12 15 views
3

Mit Access 2003Wie bestellen Sie die Nullwerte?

In meiner Tabellenspalte, sind nur einige der Felder null, einige der Felder Anzahl sind, und einige Felder sind String

Tabelle.

ID, Value 

001 
002 N/A 
003 01 
004 
005 N/A 
006 02 

so weiter ...

Ich mag die Tabelle nach Zahl, ein String dann Nullwerte,

von Wert

Query

Select ID, Wert aus der Tabelle, um bestellen

Erwarteter Ausgang

ID, Values 

    003 01 
    006 02 
    002 N/A 
    005 N/A 
    001 
    004 

Benötigen Sie Query-Hilfe

+0

Welcher Datentyp ist Value? –

+0

@ic - Wert Datentyp ist Text – Gopal

Antwort

2
SELECT * FROM 
(SELECT *, IIF(Val(Value) > 0, 2, IIF(ISNULL(Value), 3, 1)) AS MyOrder FROM MyTable) 
Order by MyOrder 

EDIT: Ich denke, das ist klar. Geändert nach Roberts Abfrage;)

SELECT * FROM MyTable 
ORDER BY IIF(Val(Value) > 0, 2, IIF(ISNULL(Value), 3, 1)) 
5

eine neue Abfrage erstellen, und fügen Sie das folgende SQL:

SELECT * 
FROM Table1 
ORDER BY IsNull([Text2]) DESC , Table1.Text2; 

Ändern Sie die Namen entsprechend.

+0

+1 - das ist besser als mit einer IIF-Anweisung, die genauso ineffizient und langsam ist, wie Sie es vermuten könnten. – Smandoli

+1

Wie zu verwenden, habe ich verwendet, aber es wird falsch angezeigt – Gopal