pablospfc 0 Denunciar post Postado Outubro 13, 2014 Ola pessoal, tenho as seguintes tabelas no meu sistema de locação de imóveis. TB_CONTRATO CREATE TABLE `tb_contrato` ( `PK_INT_CONTRATO` int(11) NOT NULL AUTO_INCREMENT, `FK_INT_LOCATARIO` int(11) NOT NULL, `FK_INT_STATUS` int(11) DEFAULT NULL, `FK_INT_QUARTO` int(11) DEFAULT NULL, `ALU_DEC_VALOR` decimal(9,2) DEFAULT NULL, `ALU_DAT_DATAENTREGA` date DEFAULT NULL, `ALU_DAT_VENCIMENTO` date DEFAULT NULL, `ALU_DAT_INICIO` date DEFAULT NULL, `ALU_DAT_FIM` date DEFAULT NULL, `ALU_INT_PRAZO` int(11) DEFAULT NULL, `ALU_STR_CHAVE` varchar(32) DEFAULT NULL, PRIMARY KEY (`PK_INT_ALUGUEL`), KEY `fk_TB_ALUGUEL_TB_LOCATARIO1_idx` (`FK_INT_LOCATARIO`), KEY `fk_TB_ALUGUEL_TB_STATUS1_idx` (`FK_INT_STATUS`), KEY `fk_quarto` (`FK_INT_QUARTO`), CONSTRAINT `fk_quarto` FOREIGN KEY (`FK_INT_QUARTO`) REFERENCES `tb_quarto` (`PK_INT_QUARTO`), CONSTRAINT `fk_TB_ALUGUEL_TB_LOCATARIO1` FOREIGN KEY (`FK_INT_LOCATARIO`) REFERENCES `tb_locatario` (`PK_INT_LOCATARIO`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_TB_ALUGUEL_TB_STATUS1` FOREIGN KEY (`FK_INT_STATUS`) REFERENCES `tb_status` (`PK_INT_STATUS`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; TB_ADITIVO CREATE TABLE `tb_aditivo` ( `PK_INT_ADITIVO` int(11) NOT NULL, `FK_INT_ALUGUEL` int(11) DEFAULT NULL, `ADI_DAT_INICIO` date DEFAULT NULL, `ADI_DAT_FIM` date DEFAULT NULL, `ADI_INT_PRAZO` int(11) DEFAULT NULL, `ADI_DAT_VENCIMENTO` date DEFAULT NULL, `ADI_DEC_VALOR` decimal(9,2) DEFAULT NULL, `FK_INT_STATUS` int(11) DEFAULT NULL, PRIMARY KEY (`PK_INT_ADITIVO`), KEY `FK_INT_ALUGUEL_idx` (`FK_INT_ALUGUEL`), KEY `FK_INT_STATUS_idx` (`FK_INT_STATUS`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; Queria exibir na tela todos os contratos atuais(vigentes), mas quero pesquisar nas duas tabelas, tipo quando não o contrato não tiver na tabela de aditivo (ou seja se ainda não houve renovação) trazer o registro na tabela de contrato e vice versa. Quero trazer todos os contratos atuais juntando as duas tabelas. Compartilhar este post Link para o post Compartilhar em outros sites
pablospfc 0 Denunciar post Postado Outubro 14, 2014 Quero pesquisar na tabela de aditivos, se não tiver nenhum contrato vinculado com aditivo, pesquisar na tabela de contrato. Compartilhar este post Link para o post Compartilhar em outros sites
pablospfc 0 Denunciar post Postado Outubro 14, 2014 Resolvi fazendo assim select fk_int_aluguel as id, fk_int_status as Status_, fk_int_quarto as Quarto, adi_dec_valor as Valor, adi_dat_entrega as Entrega, adi_dat_vencimento as Vencimento from tb_aditivo where fk_int_status=1 union SELECT pk_int_aluguel as id, fk_int_status as Status_, fk_int_quarto as Quarto, alu_dec_valor as Valor, alu_dat_dataentrega as Entrega, alu_dat_vencimento as Vencimento FROM tb_aluguel WHERE pk_int_aluguel NOT IN (SELECT fk_int_aluguel FROM tb_aditivo) Essa query faz um select nas duas tabelas seleciona dados da tabela de contratos que não contem na tabela de aditivo. Compartilhar este post Link para o post Compartilhar em outros sites