sql >> Database >  >> RDS >> Mysql

Hoe twee tabellen samen te voegen met ssp.class.php

Als PaulF vermeld, moet u JOIN . gebruiken of subquery om de naam van de vader op te halen uit dezelfde tabel.

Ik neem aan dat je ssp.class.php . gebruikt om uw gegevens aan de serverzijde te verwerken op basis van het voorbeeld dat u hebt genoemd.

Klasse ssp.class.php ondersteunt geen joins en subquery's, maar er is een tijdelijke oplossing. De truc is om een ​​subquery te gebruiken zoals hieronder getoond in $table definitie. Vervang table met uw werkelijke tabelnaam in de subquery.

$table = <<<EOT
 (
    SELECT 
      a.id, 
      a.name, 
      a.father_id, 
      b.name AS father_name
    FROM table a
    LEFT JOIN table b ON a.father_id = b.id
 ) temp
EOT;

$primaryKey = 'id';

$columns = array(
   array( 'db' => 'id',          'dt' => 0 ),
   array( 'db' => 'name',        'dt' => 1 ),
   array( 'db' => 'father_id',   'dt' => 2 ),
   array( 'db' => 'father_name', 'dt' => 3 )
);

$sql_details = array(
   'user' => '',
   'pass' => '',
   'db'   => '',
   'host' => ''
);

require( 'ssp.class.php' );
echo json_encode(
   SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);

Je moet ook ssp.class.php bewerken en vervang alle instanties van FROM `$table` met FROM $table om backticks te verwijderen.

Zorg ervoor dat alle kolomnamen uniek zijn, anders gebruik je AS om een ​​alias toe te wijzen.

OPMERKINGEN

Er is ook github.com/emran/ssp repository die verbeterde ssp.class.php . bevat JOIN's ondersteunen.

LINKS

Zie jQuery-gegevenstabellen:WHERE, JOIN en GROUP BY gebruiken met ssp.class.php voor meer informatie.



  1. Ontvang de eerste dag van de maand in PostgreSQL

  2. Hoe kan ik dezelfde query uitvoeren op alle databases op een instantie?

  3. php - converteren van het ene json-formaat naar het andere

  4. doctrine2 - Hoe de spoelefficiëntie verbeteren?