sql >> Databasteknik >  >> RDS >> Mysql

Hur man separerar data i SQL-tabellen

Du måste lagra det associerade företaget med dess avdelning på varje rad i databasen. Eftersom det inte finns något sådant som implicit "beställning" till rader i databasen, finns det inget sätt för en rad att behandla sitt företag på samma sätt som på raden "före" (det finns ingen mening med "före").

Det är inte värt besväret att ta bort det överflödiga företagsnamnet på rader i en frågeresultatuppsättning. Låt dem bara visas på varje rad även om det ser överflödigt ut.

Sedan gör du i din ansökan när du presenterar data har en möjlighet att bearbeta dem i ordning när du visar dem. Så du skulle göra något så här (pseudokod):

query 'SELECT Company, Department FROM MyTable ORDER BY Company, Department'

prev_company = ''

while row = fetch
do
    if row.company == prev_company
        display ''
    else
        display row.company
        prev_company = row.company

    display row.department
done


  1. Gruppera binär variabel efter ID och Min/Max-datum

  2. Mysql select rekursiv få alla barn med flera nivåer

  3. Skillnad mellan numerisk, float och decimal i SQL Server

  4. Hur man ställer in navigeringsformuläret som standardformulär i Microsoft Access