sql >> データベース >  >> RDS >> Mysql

ssp.class.phpで2つのテーブルを結合する方法

    PaulF として 指摘されたように、JOINを使用する必要があります またはサブクエリを実行して、同じテーブルから父親の名前を取得します。

    ssp.class.phpを使用していると思います あなたが言及した例に基づいてサーバー側でデータを処理します。

    クラスssp.class.php 結合とサブクエリはサポートされていませんが、回避策があります。秘訣は、以下の$tableに示すようにサブクエリを使用することです。 意味。 tableを置き換えます サブクエリに実際のテーブル名を使用します。

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

    ssp.class.phpも編集する必要があります FROM `$table`のすべてのインスタンスを置き換えます FROM $tableを使用 バックティックを削除します。

    すべての列名が一意であることを確認してください。そうでない場合は、ASを使用してください エイリアスを割り当てる。

    注意事項

    github.com/emran/ssp もあります 拡張されたssp.class.phpを含むリポジトリ JOINのサポート。

    リンク

    jQuery DataTables:ssp.class.phpでWHERE、JOIN、およびGROUPBYを使用する 詳細については。



    1. GroovySQLOracle配列関数/プロシージャアウトパラメータの登録

    2. ECHOMYSQLRESULT表示空白ページ

    3. 2つのテーブルを3番目のテーブルのFKと結合する必要があります

    4. Javaコンボボックススイング