1
'select left'を使用してテーブル内のidの2文字を取得しようとしましたが、idパラメータで別のテーブルに結合しようとしましたが、実行し、結果をjsonの形式で出力しますが、動作しません。出力json_encodeのLEFTテーブルとJOINテーブルを選択できません
私のスクリプト、
Controllers
foreach($this->mymodel->getLeft()->result_array() as $row)
{
$data[] = array(
'sub_id' => $row['sub_id'],
'long_id' => $row['long_id'],
'total' => $row['total']
);
}
echo json_encode($data);
モデル:
function data_alat() {
$sql = "SELECT LEFT(tb1.id,2) AS sub_id, long_id, COUNT(*) total
FROM tb1 JOIN tb2 ON tb2.id = tb1.sub_id
GROUP BY sub_id ";
return $this->db->query($sql);
}
マイデータベース:
TB1:
field id=
BM-001,
BM-002,
BC-009,
JK-001,
LP-080,
JK-002
TB2:
field id=
BM,
BC,
JK,
LP
field long_id=
BIM,
BIC,
JIK,
LIP
思っ
{ "sub_idは": "BM"、 "long_id":BIM、 "総": "2"}
を試して、 from、whereステートメントのwhere節。代わりにこの方法を試してください。 ' \t LEFT(tb1.id、2)sub_idはAS、 \t COUNT(*)の総 \t FROM TB1 がtb2.id =左のTB2をJOIN SELECT(tb1.idを、2) GROUP BY \t sub_id' – 1000111
この種の問題は、デザインが貧弱であることを示すことがあります。 – Strawberry
ありがとう@ 1000111、ok問題はOKでしたが、実際にはこのデータを取得してjsonの形式で表示したかったので、結合がうまくいかない場合はnullです。 –