sql >> Databasteknik >  >> RDS >> Mysql

Trädliknande datasamling i SQL (Mysql)

Ja, det är möjligt med en kapslad uppsättningsmodell. Det finns en bok av Joe Celko som beskriver men om du vill komma direkt in i den finns en artikel som talar om det. Båda de samlade uppgifterna som du behöver kan hämtas med en enda select-sats så här:

SELECT * FROM TableB where left > some_value1 and right < some_value2

I exemplet ovan för att få alla undernoder för "Portable Electronics" blir frågan:

SELECT * FROM Electronics WHERE `left` > 10 and `right` < 19

Artikeln beskriver hur vänster och höger kolumner ska initieras.



  1. Vet hur man återställer raderad tabell i SQL Server 2012 utan säkerhetskopiering

  2. Avgöra om fältdata i Oracle är av nummertyp

  3. CakePHP kommer inte att tillämpas Gruppera efter tillstånd

  4. Ta bort fyra byte UTF-8-tecken i klassisk ASP/VBScript (MySQL-relaterat)