У меня есть набор строк, как показано ниже в БД
ID,CompName,identifier,DesId,SubId,SRO,PDiam
-----------------------------------------------
1,resistor,R1,10,20,30,45
2,resistor,R2,10,20,40,50
3,capacitor,C1,10,20,33,5
4,Inductor,I1,10,20,22,32
1,Inductor,I2,10,20,42,52
Я пытаюсь сгруппировать их и выполнить siplay на основе их идентификатора следующим образом.Предположим, что разделитель столбцов - это pipe (|)
Ids|CompName|SRO|PDiam
-------------------------------
R1,R2|resistor|30|45 //Since there are two resistors, 2 rows foreach SRO and Pdiam Pair
R1,R2|resistor|40|50
C1|Capacitor|33|5 //One Row for Capacitor as only 1 component in DB and one pair of SRO and Pdiam Pair
I1,I2|Inductor|22|32 //2 Rows for 2 capacitors and 1 row for each pair of SRO and PDiam
I1,I2|Inductor|42|52
Я знаю, что мы должны использовать group by, но не уверен, как это сделать эффективно.Единственный способ, которым я мог придумать, - это перебрать результаты Group by ComponentName и Identifier, но это кажется мне слишком сложной логикой.
Есть ли лучший способ добиться этого?