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

Star-Dust

Expert
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")
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

Active 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