Mercurial > urweb
annotate tests/subquery.ur @ 1244:1eedc9086e6c
Use key information in more places, and catch cases where one key completion depends on another having happened already
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 18 Apr 2010 13:00:36 -0400 |
parents | 9c82548c97e9 |
children |
rev | line source |
---|---|
adamc@1191 | 1 table t : { A : int, B : int, C : int } |
adamc@1191 | 2 |
adamc@1191 | 3 fun main () = |
adamc@1191 | 4 v <- queryX1 (SELECT t.A, t.C |
adamc@1191 | 5 FROM t |
adamc@1191 | 6 WHERE t.B = (SELECT MAX(U.B) AS M |
adamc@1191 | 7 FROM t AS U |
adamc@1191 | 8 WHERE U.A = t.A)) |
adamc@1192 | 9 (fn r => <xml>{[r.A]},{[r.C]};</xml>); |
adamc@1192 | 10 v' <- queryX1 (SELECT t.A, t.C |
adamc@1192 | 11 FROM (SELECT t.A AS A, MAX(t.B) AS B |
adamc@1192 | 12 FROM t |
adamc@1192 | 13 GROUP BY t.A) AS Maxes |
adamc@1192 | 14 JOIN t ON t.A = Maxes.A AND t.B = Maxes.B) |
adamc@1192 | 15 (fn r => <xml>{[r.A]},{[r.C]};</xml>); |
adamc@1192 | 16 return <xml><body> |
adamc@1192 | 17 {v}<br/> |
adamc@1192 | 18 {v'} |
adamc@1192 | 19 </body></xml> |