2012-03-13 13 views
5

Ho una query che seleziona un gruppo di righe da varie tabelle e le ordina in ordine alfabetico in base a un singolo campo (Frutta), ma voglio iniziare a selezionare solo dopo un certo valore è raggiunto. C'è comunque di farlo in MS Access SQL?Seleziona tutto dopo una determinata riga nella tabella SQL ordinata

Esempio:

Se il valore è Cherry e la tabella, elencate in ordine alfabetico, si presenta come:

**Fruit:** 

Apple 

Banana 

Cherry 

Damson 

Orange 

-- 

Poi voglio solo selezionare Cherry, Damson e Orange. (Scusa non ho potuto pensare ad un frutto che inizia con E)

Grazie per il vostro aiuto in anticipo!

+8

Per riferimento futuro - Sambuco! – Bridge

+0

Purtroppo, no x: http://en.wikipedia.org/wiki/List_of_culinary_fruits – Fionnuala

+0

@Remou Sono confuso - Elderberry è in quella lista, insieme a limoni, ananas, cocco ecc.! – Bridge

risposta

8

maggior parte degli operatori possono essere applicati anche ai campi di testo, così nel tuo esempio è possibile utilizzare:

SELECT * 
FROM Fruit 
WHERE FruitName >= 'Cherry' 
+0

Mio dio. Non posso credere che funzioni. Grazie mille! –

+2

non è una buona soluzione, in questo caso gli operatori si affidano agli alfabeti, ad esempio se cambi il posto di Damson con Banana, il risultato è lo stesso di prima! –

1

Se si crea una colonna id nella vostra fruit table allora sarebbe facile per ottenere l'elenco di righe dopo una certa fila.

sarà la tabella.

id   fruitname 
----------- -------------------- 
1   Apple 
2   Banana 
3   Cherry 
4   Damson 
5   Orange 

E la query sarà simile.

SELECT * FROM fruit f 
WHERE id>=(SELECT id FROM fruit WHERE fruitname='Cherry'); 

questo si tradurrà in

id   fruitname 
----------- -------------------- 
3   Cherry 
4   Damson 
5   Orange 
+5

Perché dovresti costringere qualcuno a inserire i loro frutti in ordine alfabetico? – Fionnuala