多次元クエリを作成するのに苦労しています。
私の問題は、たとえば次のクエリです。
SELECT
persons.name,
contacts.email
FROM
persons
LEFT JOIN
contacts ON persons.person_ID = contacts.person_ID
LIMIT 0,10;
必要に応じて 2 つの列を返します。1 つの列は名前が「name」で、もう 1 つの列は名前が「email」です。
しかし、ヘッダーを返す方法は次のとおりです。
'persons.name'
と
'contacts.email'
(ビューを作成したくない、エイリアスやサブクエリを使用したくない)
それは可能ですか?はいの場合、どのように?
よろしくお願いします。
詳細を説明するには:
クエリ db、メイン テーブル、および列をテーブルに格納しています。列は配列に組み込まれ、その配列に基づいてクエリを作成します
列がサブクエリの場合もあれば、表のセルだけの場合もあれば、2 つ以上の列の値の場合もあります
私の問題は、クエリを動的に構築した後、それを表示する必要があることですが、ヘッダー名を含む配列が table.colname として定義されている場合、
print $row[$array[column_name]]
に評価されますprint $row[persons.name]
しかし、mysql サーバーが生成しているインデックスは、'persons.name' ではなく 'name' です。
それも機能するはずですが、クエリに2つの名前がある場合はあいまいであり、クエリの実行後にwhere条件を渡すオプションが表示されません。
それが、そもそもエイリアスを使いたくない理由です