sql >> Databasteknik >  >> RDS >> PostgreSQL

Ta bort duplicerad kolumn efter SQL-fråga

Det mest eleganta sättet skulle vara att använda USING klausul i ett uttryckligt anslutningsvillkor:

SELECT houseid, v.vehid, v.epatmpg, d.houseid, d.trpmiles
FROM   vehv2pub v
JOIN   dayv2pub d USING (houseid)
WHERE  v.vehid >= 1
AND    d.trpmiles < 15;

På så sätt visas kolumnen houseid finns bara en gång i resultatet , även om du använder SELECT * .

Per dokumentation:

För att få den genomsnittliga epatmpg för de markerade raderna:

SELECT avg(v.epatmpg) AS avg_epatmpg
FROM   vehv2pub v
JOIN   dayv2pub d USING (houseid)
WHERE  v.vehid >= 1
AND    d.trpmiles < 15;

Om det finns flera matchningar i dayv2pub , kan den härledda tabellen innehålla flera instanser av varje rad i vehv2pub efter sammanfogningen. avg() baseras på den härledda tabellen.



  1. Ansluta till en online MySQL-databas med VB.Net

  2. MySQL välj rader där left join är null

  3. NextForm v3:Fem alternativ för data- och databasmigrering

  4. SQLiteStatement kör en SELECT / INSERT / DELETE / UPDATE