Provavelmente cidade está relacionado com estado, certo? como você não explicou qual você quer, ele está pegando aleatoriamente.
Se não tiver essa relação , na tabela cidade você coloca uma coluna fk_estado ,para saber de qual estado ele é e mude a consulta
select id_cidade, nome_cidade, sigla from cidade, estado where id_cidade = $P!{cId}
and fk_estado = id_estado
[quote=ErickRAR]Provavelmente cidade está relacionado com estado, certo? como você não explicou qual você quer, ele está pegando aleatoriamente.
Se não tiver essa relação , na tabela cidade você coloca uma coluna fk_estado ,para saber de qual estado ele é e mude a consulta
select id_cidade, nome_cidade, sigla from cidade, estado where id_cidade = $P!{cId}
and fk_estado = id_estado[/quote]
eu coloquei conforme você orientou e apresentou o seguinte erro.
Error: postgresql.util.PSQLException:ERRO:coluna "fk_estado"não existe
Segue o código das minhas tabelas no banco.
Estado:
CREATE TABLE estado
(
id_estado serial NOT NULL,
sigla character varying(2) NOT NULL,
CONSTRAINT chave_primaria_estado PRIMARY KEY (id_estado)
)
Cidade:
CREATE TABLE cidade
(
id_cidade serial NOT NULL,
id_estado integer,
nome_cidade character varying(50) NOT NULL,
CONSTRAINT cidade_pkey PRIMARY KEY (id_cidade),
CONSTRAINT cidade_id_estado_fkey FOREIGN KEY (id_estado) REFERENCES estado (id_estado)
)
[quote=ErickRAR]“fk_estado” foi só um exemplo. Na sua tabela cidade, a coluna que referencia a tabela estado chama-se id_estado, então coloque isso na consulta:
Cara você é um gênio, salvou meu trabalho de hoje vou ter que fazer isso para algumas outras tabelas, mas vou tentando me virar aqui.