Red de conocimientos sobre prescripción popular - Remedios caseros - Los resultados de la consulta de varias filas de una relación de uno a muchos en SQL se convierten en una fila y varias columnas.

Los resultados de la consulta de varias filas de una relación de uno a muchos en SQL se convierten en una fila y varias columnas.

1. Cree una tabla de prueba,

Cree la tabla test_fee (número de ID de usuario, número de feeid, número de tarifa);

2. Inserte datos de prueba

Inserte en valor test_fee (1, 1001, 80);

Insertar en el valor test_fee (1, 1002, 70);

Insertar en el valor test_fee (1, 1003, 90); p >

Insertar en el valor test_fee (1,1004,60);

Insertar en el valor test_fee (2,1001,99);

Insertar en el valor test_fee (2, 1002, 66);

Insertar en test_fee value (2, 1001, 55);

3. Consulta todos los registros en la tabla, selecciona t.*, rowid de test_fee t,

4. Escriba sql, resuma por ID de usuario y resuma por columna según diferentes feeid.

Seleccione ID de usuario,

sum(feeid = 1001, luego fee else 0 end) como fee_1001,

sum(feeid = 1002 caso, luego fee else 0 final) como fee_1002,

suma (caso cuando feeid = 1003, luego tarifa de lo contrario 0 final) como tarifa_1003,

suma (cuando feeid = 1004, luego tarifa de lo contrario 0 final) es fee_1004

De la prueba de tarifa de prueba

Agrupar por ID de usuario