【发布时间】:2020-10-08 11:53:41
【问题描述】:
需要将多项选择合并到一个查询中。
MariaDB [aix_registry]> SELECT n.name AS WBG from entries e LEFT JOIN nodes n on n.id=e.node_id LEFT JOIN attribs a on a.id=e.attrib_id WHERE a.name= 'LOCATION' AND e.value='Wienerberg' AND DATE(ts) = CURDATE() LIMIT 5;
+--------------------+
| WBG |
+--------------------+
| KUG01171_TQLENTW03 |
| AIXSAWBG3 |
| AIXAPPL1EDUC |
| KUG0114_DDAITAATU |
| AIXSAPP03C1_HA |
+--------------------+
5 rows in set (0.001 sec)
MariaDB [aix_registry]> SELECT n.name AS LNZ from entries e LEFT JOIN nodes n on n.id=e.node_id LEFT JOIN attribs a on a.id=e.attrib_id WHERE a.name= 'LOCATION' AND e.value='Gruberstrasse' AND DATE(ts) = CURDATE() LIMIT 5;
+-------------------+
| LNZ |
+-------------------+
| ARR5S1P8_OOEGKKPR |
| AIXSAGRU2 |
| AIXSTP11R3DB |
| STP17T2_SGKKT2 |
| ARR5S1P9_TIC |
+-------------------+
5 rows in set (0.001 sec)
输出应该是这样的,并且解决方案应该可以扩展到任何数量的查询。这里的两个只是 例子。
+-------------------+--------------------+
| LNZ | WBG |
+-------------------+--------------------+
| ARR5S1P8_OOEGKKPR | KUG01171_TQLENTW03 |
| AIXSAGRU2 | AIXSAWBG3 |
| AIXSTP11R3DB | AIXAPPL1EDUC |
| STP17T2_SGKKT2 | KUG0114_DDAITAATU |
| ARR5S1P9_TIC | AIXSAPP03C1_HA |
+-------------------+--------------------+
【问题讨论】:
-
没有 ORDER BY 的 LIMIT 没有意义。
标签: mysql mariadb common-table-expression