in reply to Re^2: Sort in multilevel hash
in thread Sort in multilevel hash
Just wanted to point out that you can make that SQL quite a bit less repetitive. Depending on the data stored in t2 and t3 this may or may not hold true
SELECT t1.col1, t2.col5 FROM t1 JOIN t2 ON t2.tid = t1.tid WHERE t2.col3 = 99 AND ... UNION SELECT t1.col1, t3.col5 FROM t1 JOIN t3 ON t3.tid = t1.tid WHERE t3.col4 = 42 AND ...
is often equivalent to
SELECT t1.col1, coalesce(t2.col5, t3.col5) AS col5 FROM t1 LEFT JOIN t2 ON t2.tid = t1.tid AND t2.col3 = 99 LEFT JOIN t3 ON t3.tid = t1.tid AND t3.col4 = 42 WHERE ...
which is probably much easier for the database server to execute. The EXCEPT can be done with a left anti-join.
But do heed the other nameless monk's advice. Taking column names directly from a form is a security hole.
|
|---|