Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Lumee

#1
Programación C/C++ / Re: [DUDA] Bases de datos
24 Noviembre 2010, 01:54 AM
Hola Ch1n0Cr creo que la mejor opción para lo que quieres ahora mismo es utilzar QSqlDatabase. Puedes utilizarlo para conectar con postgresql, mysql,....

Pero lo mas guapo es que tiene un driver de sqlite embeded. Es decir, mira como mola


db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(filename);
bool ok = db.open();

QSqlQuery query;
query.exec("select * from lessons");
qDebug() << query.size();
qDebug() << query.isSelect();
qDebug() << query.isValid();

if (query.next ()) {
    // La consulta obtuvo rows
    printf ("**** name: %s", query.result(1).toString());
}
#2
Bases de Datos / Consulta puñetera
24 Noviembre 2010, 01:26 AM

Hola tengo una tabla de este tipo:

CREATE TABLE table2 (id integer, language text, title text, primary key (id, language));

Con un contenido que podría ser asi:

id          language    title             
----------  ----------  ------------------
1           spanish     Titulo en español
1           english     Title in english 
1           polish      khkeuh kfjhsy kh 
2           english     Title 2 english   
3           polish      jdfhahf hdhf     
4           spanish     Titulo  4 spanish
5           spanish     Titulo 5 spanish 
5           russian     aaaaaaaaaa


Lo q quiero obtener y no hay forma es, las rows que en español y en caso de no haber español, la row del primer idioma que haya para ese id, es decir:


id          language    title             
----------  ----------  ------------------
1           spanish     Titulo en español
2           english     Title 2 english   
3           polish      jdfhahf hdhf     
4           spanish     Titulo  4 spanish
5           spanish     Titulo 5 spanish 


Esto debería obtener, he mirado select case, group by, order by, todo en conjunto y no hay manera :(

Se os ocurre algo machos?

Un saludo