Сгрупировать без пустых значений

Casper2002
Дата: 14.12.2011 13:24:31
Доброе время суток.

Как привести таблицу вида:

customer|phone1_______|phone2_______|phone3
Иванов__|+332341234234|_____________|
Иванов__|_____________|+332341235435|
Иванов__|_____________|_____________|+3323415555
Петров__|+123121243___|_____________|
Сидоров_|_____________|+1253425326__|
Сидоров_|+44342342342_|_____________|


В таблицу:

customer|phone1_______|phone2_______|phone3
Иванов__|+332341234234|+332341235435|+3323415555
Петров__|+123121243___|_____________|
Сидоров_|+44342342342_|+1253425326__|


Если поля phone имеют числовые значения, то я использую запрос вида:

SELECT customer, sum(p1) AS phone1, sum(p2) AS phone2, sum(p3) AS phone3
FROM Table1 GROUP BY customer;


Но как быть, если поля phone символьного типа?
Akina
Дата: 14.12.2011 13:46:28
См.
Casper2002
Дата: 14.12.2011 15:18:54
)))))))) вот это я протупил! спасибо.
WRX
Дата: 14.12.2011 15:27:09
SELECT q1.customer, q2.phone1, q3.phone2, q4.phone3
FROM (([SELECT customers.customer FROM customers GROUP BY customers.customer]. AS q1 LEFT JOIN [SELECT customers.customer, customers.phone1 FROM customers WHERE (((customers.phone1)>"")) ]. AS q2 ON q1.customer = q2.customer) LEFT JOIN [SELECT customers.customer, customers.phone2 FROM customers WHERE (((customers.phone2)>""))]. AS q3 ON q1.customer = q3.customer) LEFT JOIN [SELECT customers.customer, customers.phone3
FROM customers WHERE (((customers.phone3)>""))]. AS q4 ON q1.customer = q4.customer;
sdku
Дата: 14.12.2011 16:12:30
Casper2002,
в зависимости от того что дальше будете делать-можно и так:
Sub my()
Dim rs As DAO.Recordset, rs1 As DAO.Recordset, a, phone1, phone2, phone3
Set rs = CurrentDb.OpenRecordset("SELECT customer FROM customers GROUP BY customer")
Do Until rs.EOF
phone1 = ""
phone2 = ""
phone3 = ""
a = rs!customer
Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM customers WHERE customer='" & a & "'")
    Do Until rs1.EOF
        If Not IsNull(rs1!phone1) Then phone1 = rs1!phone1
        If Not IsNull(rs1!phone2) Then phone2 = rs1!phone2
        If Not IsNull(rs1!phone3) Then phone3 = rs1!phone3
        rs1.MoveNext
    Loop
Debug.Print a, phone1, phone2, phone3
rs.MoveNext
Loop
End Sub