How to perform more than one select for just two fields from another table

0

I am not able to select more than one table to display only ID and name data (t_address table), I am performing the SELECT of the entire t_cad table with WHERE in the contract number passed via SELECT from another page: common fields of tables="Tab";

include"../Connections/config.php";
    $conexao = mysql_connect("$hostname_config","$username_config","$password_config")
                or die ("Erro ao realizar a conexão com o banco de dados, por favor informe o administrador do sistema ([email protected]) ou envie um email para [email protected] !");
    $db = mysql_select_db("$database_config")
                or die ("Erro ao selecionar o banco de dados, por favor informe o administrador do sistema ([email protected]) ou envie um email para [email protected] !");
    $contrato = $_GET['id'];
    $seleciona = mysql_query("SELECT * FROM t_cadcontratos WHERE NumContrato = '$contrato'");

    if($seleciona == '') {
        echo "Erro ao Selecionar, tente novamente !";
    } else {  
        while($res_id = mysql_fetch_array($seleciona)){
        $pdf->Cell(15,0.5,"N Contrato:",0,0,'R'); $pdf->Cell(2,0.5,$res_id['NumContrato'],1,1,'C');
....

Structure table t_cadclients

CREATE TABLE IF NOT EXISTS 't_cadclientes' (
  'Ficha' int(11) NOT NULL AUTO_INCREMENT,
  'Snome' varchar(50) DEFAULT NULL,
  'Endereco' varchar(50) DEFAULT NULL,
  'DataNascimento' datetime DEFAULT NULL,
  'Bairro' varchar(50) DEFAULT NULL,
  'Cidade' varchar(50) DEFAULT NULL,
  'Uf' varchar(50) DEFAULT NULL,
  'Fone' varchar(50) DEFAULT NULL,
  'Cpf' varchar(50) DEFAULT NULL,
  'Cgc' varchar(50) DEFAULT NULL,
  'Identidade' varchar(50) DEFAULT NULL,
  'Carteira Trabalho' varchar(50) DEFAULT NULL,
  'Pai' varchar(50) DEFAULT NULL,
  'Mae' varchar(50) DEFAULT NULL,
  'EstadoCivil' varchar(50) DEFAULT NULL,
  'Cep' varchar(50) DEFAULT NULL,
  'NomeEmpresa' varchar(50) DEFAULT NULL,
  'EndEmpresa' varchar(50) DEFAULT NULL,
  'BairroEmpresa' varchar(50) DEFAULT NULL,
  'CidadeEmpresa' varchar(50) DEFAULT NULL,
  'FoneEmpresa' varchar(50) DEFAULT NULL,
  'Ramal' varchar(50) DEFAULT NULL,
  'Renda' varchar(12) DEFAULT NULL,
  'NomeConjuge' varchar(50) DEFAULT NULL,
  'EmpresaConjuge' varchar(50) DEFAULT NULL,
  'EndEmpresaConjuge' varchar(50) DEFAULT NULL,
  'BairroEmpresaConjuge' varchar(50) DEFAULT NULL,
  'CidadeEmpresaConjuge' varchar(50) DEFAULT NULL,
  'FoneEmpresaConjuge' varchar(50) DEFAULT NULL,
  'RamalEmpresaConjuge' varchar(50) DEFAULT NULL,
  'RendaConjuge' varchar(12) DEFAULT NULL,
  'NomeContato' varchar(50) DEFAULT NULL,
  'EndContato' varchar(50) DEFAULT NULL,
  'FoneContato' varchar(50) DEFAULT NULL,
  'Relacao' varchar(50) DEFAULT NULL,
  'Loja1' varchar(50) DEFAULT NULL,
  'Loja2' varchar(50) DEFAULT NULL,
  'AtualizacaoCadastr' datetime DEFAULT NULL,
  'FichaDesde' datetime DEFAULT NULL,
  PRIMARY KEY ('Ficha'),
  KEY 'Identidade' ('Identidade')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=23464 ;

structure table t_cadcontracts

CREATE TABLE IF NOT EXISTS 't_cadcontratos' (
  'Ficha' int(11) DEFAULT '0',
  'NumContrato' int(11) NOT NULL AUTO_INCREMENT,
  'DataContrato' datetime DEFAULT NULL,
  'QuantParcelas' tinyint(4) DEFAULT '3',
  'ValorContrato' decimal(19,4) DEFAULT '0.0000',
  'Entrada' decimal(19,4) DEFAULT '0.0000',
  'Saldo' decimal(19,4) DEFAULT '0.0000',
  'DescricaoProduto' varchar(50) DEFAULT NULL,
  'QuantProdutos' int(11) DEFAULT '0',
  'Vendedor' varchar(50) DEFAULT NULL,
  'FormaPagamento' varchar(50) DEFAULT 'CREDIÁRIO',
  PRIMARY KEY ('NumContrato')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2160 ;
    
asked by anonymous 10.10.2014 / 21:14

2 answers

4

So you can query the two tables:

SELECT 
   contr.*, -- Todas as colunas da tabela t_cadcontratos
   client.Snome -- Coluna nome da tabela t_cadclientes 
FROM t_cadcontratos contr 
   INNER JOIN t_cadclientes client ON contr.Ficha = client.Ficha
WHERE NumContrato = '$contrato'

Study links;

  

Syntax Join
Table Relationships

    
10.10.2014 / 21:48
2

To bring only the fields you requested, it would be

SELECT 
   CLI.Ficha,
   CLI.Snome
FROM t_cadcontratos CON 
   INNER JOIN t_cadclientes CLI ON CON.Ficha = CLI.Ficha
WHERE CON.NumContrato = '$contrato'
    
10.10.2014 / 21:54