2010-09-22 26 views
17

En MS Access, deseo insertar una nueva columna en el resultado devuelto de una consulta de selección. La nueva columna tiene el mismo valor para cada fila. Por ejemplo, mi SELECT devuelve las columnas A, B y C que quieren que sea la nueva columna creada por la consulta de selección:Cómo crear una nueva columna en una consulta de selección

A B C 
---------- 
a1 b1 c 
a2 b2 c 
a3 b3 c 

Respuesta

33
select A, B, 'c' as C 
from MyTable 
1

Depende de lo que quería hacer con esa columna, por ejemplo, he aquí un ejemplo de añadir una nueva columna a un conjunto de registros que se pueden actualizar en el lado del cliente:

Sub MSDataShape_AddNewCol() 

    Dim rs As ADODB.Recordset 
    Set rs = CreateObject("ADODB.Recordset") 
    With rs 
    .ActiveConnection = _ 
    "Provider=MSDataShape;" & _ 
    "Data Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=C:\Tempo\New_Jet_DB.mdb" 
    .Source = _ 
    "SHAPE {" & _ 
    " SELECT ExistingField" & _ 
    " FROM ExistingTable" & _ 
    " ORDER BY ExistingField" & _ 
    "} APPEND NEW adNumeric(5, 4) AS NewField" 

    .LockType = adLockBatchOptimistic 

    .Open 

    Dim i As Long 
    For i = 0 To .RecordCount - 1 
     .Fields("NewField").Value = Round(.Fields("ExistingField").Value, 4) 
     .MoveNext 
    Next 

    rs.Save "C:\rs.xml", adPersistXML 

    End With 
End Sub 
2

campo1 SELECT, campo2, 'ejemplo' AS newfield de la Tabla1 Esto añadirá una columna llamada " newfield "a la salida, y su valor siempre será" ejemplo ".

Cuestiones relacionadas