[SQL] Kolomwaarde als kolomnaam

Pagina: 1
Acties:

  • oogapp0ltje
  • Registratie: Januari 2001
  • Niet online
Gegeven het volgende MSSQL resultaat:
code:
1
2
3
4
5
 id  value  name      
 --  -----  --------- 
 1   New    condition 
 1   audi       make      
 1   a425v6tdi  model


Is het mogelijk dit met slechts SQL te herschrijven tot:
code:
1
2
3
 id  condition make  model
 --  --------- ----- -------
 1   New       audi  a425v6tdi


Dus eigenlijk wil ik het resultaat ombouwen zodanig dat 'name' de identifier word voor de kolomnaam.
code:
1
select a.id as 'id', a.value as at.name FROM attributes a INNER JOIN attribute_types at ON a.typeid=at.id INNER JOIN basetype bt ON at.basetype=bt.id  INNER JOIN items i ON a.id = i.id ORDER BY a.id, a.typeid


Het bovenstaande statement werkt niet (a.value as at.name), bestaat er in MSSQL een andere mogelijkheid om zo'n concatenatie te maken als bovenstaande?

[ Voor 3% gewijzigd door oogapp0ltje op 09-03-2006 11:01 ]

| To acknowledge what is known as known and what is not known as known is knowledge. |


  • whoami
  • Registratie: December 2000
  • Laatst online: 07-04 22:26
Je moet dat niet met Sql willen verwezenlijken, maar met je taal waarmee je die resultset ophaalt.
Ik bedoel, SQL is er om data op te halen en te bewerken, maar niet om de layout er van te verzorgen.

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 06-04 23:14

Janoz

Moderator Devschuur®

!litemod

Het lijkt me eerder dat je dit aan de applicatie kant op moet lossen. Het is in SQL niet de bedoeling om dynamisch kolomnamen aan te gaan lopen maken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Robbemans
  • Registratie: November 2003
  • Laatst online: 17-07-2025
Het KAN wel met een stukje SQL code in MS SQL.

kijk eens naar EXEC of sp_executesql. Je zult je query zelf als tekst moeten opbouwen.

[ Voor 45% gewijzigd door Robbemans op 09-03-2006 13:53 ]