1

以下のクエリがあります:

SET @sql = NULL ;
SELECT GROUP_CONCAT( DISTINCT CONCAT(  'select latitude,longitude,max(serverTime) as serverTime,', deviceID,  ' AS device from  d', deviceID,  '_gps' ) 
SEPARATOR  '  UNION ALL  ' ) 
INTO @sql 
FROM devices
WHERE accountID =2;
PREPARE stmt FROM @sql ;
EXECUTE stmt;

誰かが上記のクエリを codeIgniter スタイルで書くのを手伝ってくれませんか....

Aそしてもう 1 つは、クエリを 1 形式と 2 形式で書くことの違いは何ですか

1. $query = $this->db->query('YOUR QUERY HERE'); 



 2. $this->db->select("...");  
    $this->db->from(); 
    $this->db->where();

2番目のスタイルを使用すると、パフォーマンスに影響がありますか...ありがとう

4

2 に答える 2

0

ドキュメントを確認してください!

あなたの質問はActiveRecordにとって少し複雑だと思うので、生のクエリでいくつかの部分を実行する必要があるかもしれません(例GROUP_CONCAT

フォーム1と2の違い:2番目のフォームではActiveRecordが識別子を保護します。ActiveRecordの主な利点は、クエリを動的に内包できることだと思います。その他の利点:関数呼び出しが読みやすくなる可能性があり、big-big-bigクエリ文字列が少し読みにくくなる可能性があります。

于 2012-10-25T10:55:02.980 に答える
0

これを試して:

$sql = "SELECT GROUP_CONCAT( DISTINCT CONCAT(  'select latitude,longitude,max(serverTime) as serverTime,', deviceID,  ' AS device from  d', deviceID,  '_gps' ) SEPARATOR  '  UNION ALL  ' ) 
INTO @sql FROM devices WHERE accountID =2;"

$this->db->set('@sql', 'NULL', FALSE);
$query = $this->db->prepare($sql);           

$query->execute();

2 種類の形式のパフォーマンスはほぼ同じです。2 番目の方が読みやすく、保守しやすいので、私は 2 番目を好みます。

于 2012-10-25T11:02:09.230 に答える