Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The way I would do it (not sure if there is anything easier). First get dependencies at one level (easy):</p> <pre><code>SELECT * FROM table; </code></pre> <p>Then two level down:</p> <pre><code>SELECT t.dept AS dept, t.classNum AS classNum, t2.prereqDept AS prereqDept, t2.prereqClassNum AS prereqClassNum FROM table AS t LEFT JOIN table AS t2 WHERE t2.classNum = t.prereqClassNum; </code></pre> <p>Reuse that to go three level down:</p> <pre><code>SELECT t3.dept AS dept, t3.classNum AS classNum, t4.prereqDept AS prereqDept, t4.prereqClassNum AS prereqClassNum FROM ( SELECT t.dept AS dept, t.classNum AS classNum, t2.prereqDept AS prereqDept, t2.prereqClassNum AS prereqClassNum FROM table AS t LEFT JOIN table AS t2 WHERE t2.classNum = t.prereqClassNum ) AS t3 LEFT JOIN table AS t4 WHERE t4.classNum = t3.prereqClassNum; </code></pre> <p>Finally, you can just do a UNION of all those three queries.</p> <pre><code>(SELECT * FROM table) UNION (SELECT t.dept AS dept, t.classNum AS classNum, t2.prereqDept AS prereqDept, t2.prereqClassNum AS prereqClassNum FROM table AS t LEFT JOIN table AS t2 WHERE t2.classNum = t.prereqClassNum) UNION (SELECT t3.dept AS dept, t3.classNum AS classNum, t4.prereqDept AS prereqDept, t4.prereqClassNum AS prereqClassNum FROM ( SELECT t.dept AS dept, t.classNum AS classNum, t2.prereqDept AS prereqDept, t2.prereqClassNum AS prereqClassNum FROM table AS t LEFT JOIN table AS t2 WHERE t2.classNum = t.prereqClassNum ) AS t3 LEFT JOIN table AS t4 WHERE t4.classNum = t3.prereqClassNum); </code></pre> <p>I did not check it works... but something like that should work...</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload