Estou modelando um sistema e tenho três tabelas que são:
- Estado(nome,sigla),
- Cidade(nome,cod_estado)
- Endereco(rua,numero,bairro,cep,cod_cidade).
Ocorre que eu não consigo trazer os valores da coluna estado através de SELECT na tabela endereco que só tem uma referencia através da chave estrangeira da tabela cidade.
Alguém pode dar um exemplo de SELECT com a cláusula WHERE na tabela endereco trazendo os valores estado.nome e estado.sigla?
Segue SQL para criação das tabelas:
CREATE TABLE Estado(
cod_estado INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome_estado VARCHAR(45) NOT NULL,
sigla_estado VARCHAR(2)
);
CREATE TABLE Cidade(
cod_cidade INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
nome_cidade VARCHAR(45) NOT NULL,
cod_estado INT NOT NULL
);
CREATE TABLE Endereco(
cod_endereco INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
rua VARCHAR(45) NOT NULL,
numero VARCHAR(20) NOT NULL,
bairro VARCHAR(45) NOT NULL,
cep VARCHAR(20) NOT NULL,
cid_cidade INT NOT NULL
);
ALTER TABLE Cidade ADD CONSTRAINT fk_cidade FOREIGN KEY(cod_estado) REFERENCES Estado(cod_estado);
ALTER TABLE Endereco ADD CONSTRAINT fk_endereco FOREIGN KEY(cod_cidade) REFERENCES Cidade(cod_cidade);