SQL 仮想テーブル/一時テーブルのアプローチのデモ: 連想配列からのデータの抽出
P粉066224086
P粉066224086 2023-09-03 16:26:28
0
1
450

データベースに仮想テーブルを作成せずに仮想/一時テーブルを表示するには、単純な SQL クエリが必要です。

PHP を使用してデータを含むクエリ文字列を作成しています。

現在の PHP コードは次のとおりです:

$array = [ ['id' => 1, 'name' => 'one'], ['id' => 2, 'name' => 'two'], ['id' => 3, 'name' => 'three'] ]; $subQuery = "SELECT {$array[0]['id']} AS Col1, '{$array[0]['name']}' AS Col2'; for ($i=1; $i
      

出力は次のようになります:

with cte as ( select 1 col1, 'one' col2 union all 2, 'two' 3, 'three' cteからcol1、col2を選択します。 sqlからの出力テーブル 列1 列2 つ 2 3 スリー< pre> 

このクエリのアイデアはここから得ました。 < p>

しかし、このクエリの問題は、$array に 100 個のデータがある場合、union all< strong> 部分が sql 回含まれることです。これは 個のテーブルを同時に結合するようなものなので、これより優れた とは思えません。

この with< 句の代わりに一時テーブル (create temporary table table_name< strong>) を作成することもできますが、これは単一のクエリではありません。一時テーブルにレコードを挿入するには、別のクエリが必要です。

このクエリをより良い方法で単純化するのを手伝ってくれる人はいますか? < div>

P粉066224086
P粉066224086

全員に返信 (1)
P粉781235689

MySQL 8 を使用する場合、json_table式を次のように使用できます:

リーリー

PHP オンライン エディター

MySQL 8.0 では、上記のクエリの結果は次のようになります:

リーリー
いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!