sql >> Databasteknik >  >> RDS >> Mysql

Tilldela dynamiskt alias till alla fältnamn i msyql-frågan

Du skulle behöva fråga information_schema för att få kolumnnamnen för de två tabellerna. Låt oss anta att du skulle ha cd kolumnnamn lagrade i arrayen $cd_columns och cd_n kolumnnamn i arrayen $cdn_columns .

Sedan i PHP när du skapar frågan, går du igenom kolumnmatriserna och gör något så här:

$sql = 'SELECT ';

// add the cd columns
$i = 0;
foreach($cd_columns as $col) {
    $sql .= "{$col} AS CD_Column{$i},";
    $i++;
}

// add the cd_n columns
$i = 0;
foreach($cdn_columns as $col) {
    $sql .= "{$col} AS CN_Column{$i},";
    $i++;
}

// remove the trailing comma
$sql = trim($sql, ',');
// continue the SQL
$sql .= ' FROM ...';

Var detta till hjälp?




  1. PostgreSQL - fråga från bash script som databasanvändare 'postgres'

  2. Dela en kolumn i flera rader

  3. Hur undkommer jag specialtecken i MySQL?

  4. Hur man sammanfogar alla kolumner i ett urval med SQL Server