Saltar para conteúdo


Foto
- - - - -

sqlite


  • Por favor inicie sessão para responder
7 respostas a este tópico

#1 desirat

desirat

    Geek de Android

  • Membros
  • PipPipPipPip
  • 570 mensagens
  • LocalizaçãoCascais
  • OnePlus One, Galaxy Nexus

Mensagem publicada 15 February 2012 - 16:17

Boas malta vou ser o mais coerente e rapido possivel.Tenho 2 tabelas tabela1 : id, nome, valor, valor1tabela2 : id_, nome_quero mostrar tudo: nome_, valor, valor1Alguem me pode dar aí uma dica?

#2 WhiT3Kr0w

WhiT3Kr0w

    Master

  • Administradores
  • 3316 mensagens
  • LocalizaçãoUK
  • Nexus 5, Nexus 10, S2

Mensagem publicada 15 February 2012 - 16:37

Não percebi o que queres fazer.Tipo algo do género?SELECT t2.nome_, t1.valor, t1.valor1FROM tabela1 t1, tabela2 t2WHERE xxxxxx
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.


Carpe diem quam minimum credula postero.

#3 desirat

desirat

    Geek de Android

  • Membros
  • PipPipPipPip
  • 570 mensagens
  • LocalizaçãoCascais
  • OnePlus One, Galaxy Nexus

Mensagem publicada 15 February 2012 - 17:06

String[] columns = new String[] { KEY_ROWID, KEY_NAME_G,KEY_NAME, KEY_LAST_G , KEY_TIME_G }; String WHERE ="KEY_NAME_G like KEY_NAME"; return db.query(DATABASE_TABLE_G, columns, WHERE , null , null, null, null);Pelo que vi é mais ou menos iso, mas está aqui a faltar algo.

#4 WhiT3Kr0w

WhiT3Kr0w

    Master

  • Administradores
  • 3316 mensagens
  • LocalizaçãoUK
  • Nexus 5, Nexus 10, S2

Mensagem publicada 15 February 2012 - 17:23

Continuo a não perceber o que queres fazer.Basicamente estás a assignar strings a uma série de variáveis para depois as usares numa query. Mas não estou a perceber que query é que queres.
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.


Carpe diem quam minimum credula postero.

#5 desirat

desirat

    Geek de Android

  • Membros
  • PipPipPipPip
  • 570 mensagens
  • LocalizaçãoCascais
  • OnePlus One, Galaxy Nexus

Mensagem publicada 15 February 2012 - 21:56

quero atraves de 2 tabelas comparar 2 nomes.Se forem iguais retorna os valores que estão numa unica tabela

#6 WhiT3Kr0w

WhiT3Kr0w

    Master

  • Administradores
  • 3316 mensagens
  • LocalizaçãoUK
  • Nexus 5, Nexus 10, S2

Mensagem publicada 16 February 2012 - 09:37

E aquilo que te escrevi em cima não serve?SELECT t1.valor1, t1.valor2, t1.valor3FROM tabela1 t1, tabela2 t2WHERE t1.nome=t2.nome
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.


Carpe diem quam minimum credula postero.

#7 desirat

desirat

    Geek de Android

  • Membros
  • PipPipPipPip
  • 570 mensagens
  • LocalizaçãoCascais
  • OnePlus One, Galaxy Nexus

Mensagem publicada 18 February 2012 - 17:55

era isto que queria, e já esta a funcar, deixp aqui a soluçãopublic Cursor getAllEntries_general() { String[] columns = new String[] { "stocks."+KEY_ROWID, "psig."+KEY_ROWID_G, KEY_NAME_G, KEY_NAME, KEY_LAST_G , KEY_TIME_G , KEY_DATE_G}; String WHERE ="name = name_g"; return db.query(true, DATABASE_TABLE_G + " INNER JOIN " + DATABASE_TABLE , columns, WHERE , null , KEY_NAME_G, null,null,null); }

#8 pedronveloso

pedronveloso

    Veloso

  • Administradores
  • 1578 mensagens
  • S8

Mensagem publicada 19 February 2012 - 12:33

E aquilo que te escrevi em cima não serve?SELECT t1.valor1 t1.valor2, t1.valor3FROM tabela1 t1, tabela2 t2WHERE t1.nome=t2.nome

Funciona, mas em Android geralmente não se usa SQL explicitamente tal como escreveste aí mas sim por intermédio de um mecanismo de nome Cursors. Isso facilita depois a interoperabilidade com o mecanismo de partilha de informação entre aplicações dentro do sistema operativo.Também era possível efectuar a query com SQL explicito e em 2 tabelas através de um inner join, algo deste género:String query_a_efectuar = "SELECT * FROM tabelaA INNER JOIN tabelaB ON tabelaA.id=tabelaB._id WHERE ....";db.rawQuery(query_a_efectuar, new String[]{ tabelaA.id, campo2, campo3, ... });