Peter Nack: Eindeuitgkeit der Felder des Select-From

Beitrag lesen

Hi Dedlifix,

ich bin nun dabei den Auszug in das gesamte Query zu uebernehmen.

Hierbei stosze ich auf das Problem, dass das "SELECT id.. FROM ( SELECT" Fehlermeldungen wirft, dass die Feldnamen nicht eindeutig seien (#1052 - Column 'id' in field list is ambiguous) - das ist natuerlich korrekt, da ich das Statement noch um einige Joins etc. erweitert habe.
Gebe ich den Felder des From-Subselects einen Alias, dann funktioniert es.

Jetzt mal rein interessenhalber:
Gibt es hierfuer eine elgantere Loesung, als den Spalten des Subselects Aliase zu vergeben, und diese dann wieder in dem eigentlichen Select auf die urspruenglichen Namen zu mappen?
Ist jetzt ein wenig kompliziert ausgedrueckt, aber folgendes Beispiel sollte es veranschaulichen:

SELECT DISTINCT SQL_CALC_FOUND_ROWS  
  r_id AS id, r_name AS name  
  txt3.en AS resort_type_name,  
  ( SELECT count(id) FROM reservation WHERE resort_id = r_id ) as reservation_count,  
  ( SELECT AVG(vote_overall) FROM rating WHERE resort_id = r_id ) as votes_overall  
FROM  
  (  
    SELECT 	  
      id AS r_id , name AS r_name,  
      resort_type_id AS r_resort_type  
    FROM  
      resort  
    -- [..]  
  ) AS resorts  
LEFT JOIN  
	resort_type ON r_resort_type = resort_type.id  
LEFT JOIN  
	textsource AS txt3 ON resort_type.textsource_id = txt3.id

Danke & MfG
Peter