2017-01-19 20 views
0

SELECT SQL_CALC_FOUND_ROWS *を使用していますが、最初の列と同じ名前の列を持つ表を結合する必要があります。LEFT JOINを同じ名前の列で使用する方法

$sql = " 
    SELECT SQL_CALC_FOUND_ROWS * 
    FROM {$this->_db} 
    LEFT JOIN $this->_db2 ON $this->_db2.calc_id = $this->_db.calc_id  
"; 

2番目のテーブルの値が拳1を上書きしているように、この作業を行う方法はありますか?

+0

テーブル名を使用して 'tableName.ColumnName'カラムを識別できます – Zelldon

+0

なぜ' SQL_CALC_FOUND_ROWS'を使用していますか?これは、クエリに 'LIMIT'がある場合にのみ役に立ちます。 –

+0

ON句のようにエイリアスを使用しないのはなぜですか? ( 'Db2'または' db')? 'SELECT db.SQL_CALC_FOUND_ROWS as DBFOUNDROWS、db。*、DB2。*'列名は重複しているかもしれませんが、必要に応じて別名を付けることができます。最もクリーンではなく、tableAlias.columnの名前から個別にcolumsnを選択することをお勧めします。 – xQbert

答えて

0

同じ名前のフィールドにテーブルを結合するので、SELECT *は使用できません。

SELECTステートメントに必要なフィールドを手動で一覧表示する必要があります。

関連する問題