Italian [RISOLTO] [B4X] Domande sull'SQL (con ResultSet)

Star-Dust

Expert
Licensed User
Longtime User
Dovrebbe essere così se deve trovare il VAL più alto
B4X:
Dim S as String = sql.ExecQuerySigleResult("SELECT Name FROM DB WHERE VAL= (SELECT MAX(VAL) FROM DB")
io comunque passo, ho altro da fare, ho scritto pure troppo
 

3uowiS

Active Member
Licensed User
Se ho capito bene (e io capisco sempre bene ?) lui vuole ottenere il valore massimo tra un certo numero di record selezionati (tramite ID).
Esattamente! ??

Unico suggerimento possibile, non certo indispensabile, sarebbe quello di costruire la query con l'operatore IN.

SELECT ... WHERE ID IN([stringa costruita con gli ID selezionati, separati da virgole]) ORDER BY ID DESC LIMIT 1
Grazie del consiglio! ?
 

3uowiS

Active Member
Licensed User
Dovrebbe essere così se deve trovare il VAL più alto
B4X:
Dim S as String = sql.ExecQuerySigleResult("SELECT Name FROM DB WHERE VAL= (SELECT MAX(VAL) FROM DB")
Così però torva il valore più alto ma tra tutte le 500 voci del database, non tra i 13 selezionati.

io comunque passo, ho altro da fare, ho scritto pure troppo
Vero! Tra tutti state facendo effettivamente anche troppo a starmi dietro con tutte le domande che faccio! Non vi ringrazierò mai abbastanza! ?
 

Elric

Well-Known Member
Licensed User
Aspettate, forse non ho specificato una cosa fondamentale:
in modGlobals.strMyTeam(i) ci sono solo degli ID alfanumerici...
il database è così composto:
B4X:
ID            NAME            VAL
pinpal01    Pinco Pallino    30
semp01        Sempronio        56
quindi nell'array ho pinpal01 ma voglio sapere quale tra i questi ha il VAL più alto...
Magari dico una castroneria, ma secondo me è una buona pratica mettere sotto ID un valore numerico autoincrementale e la parte alfabetica in un'altra colonna (tipo "AlphaID" o qualcosa di simile).
Certo, poi dipende che devi farci.
 
Top