sql >> Databasteknik >  >> RDS >> Mysql

Hur man sammanfogar två tabeller med ssp.class.php

Som PaulF påpekade, måste du använda JOIN eller underfråga för att hämta faderns namn från samma tabell.

Jag antar att du använder ssp.class.php att bearbeta dina data på serversidan baserat på exemplet du har nämnt.

Klass ssp.class.php stöder inte anslutningar och underfrågor, men det finns en lösning. Tricket är att använda sub-query som visas nedan i $table definition. Ersätt table med ditt faktiska tabellnamn i underfrågan.

$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 )
);

Du måste också redigera ssp.class.php och ersätt alla instanser av FROM `$table` med FROM $table för att ta bort backticks.

Se till att alla kolumnnamn är unika, annars använd AS för att tilldela ett alias.

ANMÄRKNINGAR

Det finns också github.com/emran/ssp repository som innehåller förbättrad ssp.class.php stödjer JOINs.

LÄNKAR

Se jQuery DataTables:Använd WHERE, JOIN och GROUP BY med ssp.class.php för mer information.



  1. CONVERT() vs TRY_CONVERT i SQL Server:Vad är skillnaden?

  2. Hibernate kunde inte hämta SequenceInformation från databasen

  3. Uppdatera mysql-tabellen var tjugofyra timme automatiskt

  4. JDBC vs Web Service för Android