sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man skapar en beräknad kolumn i en SQL Server 2008-tabell

Du kan lägga in din fråga i funktionen så här (den HAR för att returnera ett värde):

CREATE FUNCTION dbo.SumIt(@Key1 varchar(max))
returns float
as
begin
  return (select sum(UTOTALWBUD) from
   CONTACT1 inner join
   CONTACT2 on
   CONTACT1.ACCOUNTNO=CONTACT2.ACCOUNTNO
   where [email protected]
   group by KEY3)
END

Och använd den här funktionen istället med calc field - ungefär så här:

alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)

OBS

att det kommer att vara prestandadödaren för sådana frågor:

select * from ManagerTaLog 

Du bör ändra din funktion på ett sådant sätt, det vill säga acceptera NOT varchar värde, men NVARCHAR(255) - samma typ som kolumnen Manager. Prova det.



  1. Dålig prestanda att få clob-fält från Oracle i .Net

  2. Hur man formaterar negativa värden med parenteser i SQL Server (T-SQL)

  3. Begränsa antalet rader per id i en SQL-fråga

  4. Tillkännager MariaDB 10.2 Support - ClusterControl 1.5