Estás tocando en algo fundamental sobre el modelo relacional aquí. En las bases de datos en general, no existe un orden intrínseco. Si desea obtener un pedido de datos cada vez que mira una tabla, debe especificar ese orden explícitamente.
Así que en un sentido general sentido, estás pidiendo lo imposible. No puede simplemente UPDATE
una tabla y obtener un pedido automático de cualquier consulta que realice en él. Pero en un sentido consulta por consulta, siempre puede poner "ORDER BY item1ID, sortOrder
" en cualquier declaración SELECT
que aplique a la tabla.
En SQL Server 2005, se podría escribir una vista y presentarla a su cliente, el uso de este viejo truco:
SELECT TOP 100 PERCENT
item1ID, item2ID, sortOrder -- and all the other columns
FROM YourTable
ORDER BY item1ID, sortOrder;
Hay maneras de hacer tal punto de vista actualizable, pero necesitará a la investigación eso por tu cuenta No es muy difícil de hacer.
Si nunca va a insertar o cambiar los datos en esta tabla, y si está dispuesto a volver a importar los datos en una tabla, podría definir su tabla con una identidad, luego inserte sus datos en la tabla en el orden apropiado Entonces siempre ordenarías por una columna de identidad. Eso funcionaría si su cliente siempre visualiza los datos en un programa que permite ordenarlos por una sola columna. (Por cierto, nunca utilice la función de IDENTITY
para este propósito. No funcionará.)
CREATE TABLE YourTable (
SingleSortColumn INT IDENTITY(1,1) NOT NULL,
...
);
INSERT INTO YourTable (
item1ID, item2ID, sortOrder -- everything except the SingleSortColumn
)
SELECT -- all your columns
INTO YourTable
FROM yadda yadda yadda
ORDER BY item1ID, sortOrder;
la esperanza de que es muy útil. Lo siento si estoy siendo pedante.
Esa es una gran manera de cambiar SortOrder para ordenar por la segunda columna sobre la primera columna. No estaba claro que eso era lo que el cartel estaba pidiendo, porque los datos de los ejemplos no estaban ordenados por las dos primeras columnas. Aún así, esa es una gran respuesta. – eksortso
Consulte la siguiente pregunta: http://stackoverflow.com/questions/1934738/custom-sort-order-with-sql-server-and-net-entity-framework – Shimmy