我需要撤出两个字段:Xsec
和CondConfg
,它们需要从数据库中提取以填充组合框。我已经有两个非常简单的独立查询来提取字段:
SELECT DISTINCT Xsec FROM Table;
SELECT DISTINCT CondConfg FROM Table;
但是我需要将它们组合起来以填充单个字段。麻烦的是,
DISTINCT
字段没有正确重叠,即。 Table
+------------------+
| Xsec | CondConfg |
| -----|-----------|
| 1.5 | abc |
| 1.5 | abc |
| 1.5 | def |
| 2.5 | ghi |
etc......
我需要的是:
Table
+------------------+
| Xsec | CondConfg |
|------|-----------|
| 1.5 | abc |
| 1.5 | def |
| 2.5 | ghi |
etc......
UNION
不起作用,因为那只是将它们分组为一个列,并且如上所述,我需要2个单独的列。我以前做过,但是很久以前就完全忘记了,但是我知道有一个非常简单的解决方案。
最佳答案
我假设mysql支持交叉连接:
SELECT *
FROM (SELECT DISTINCT Xsec FROM tbl) a
CROSS JOIN
(SELECT DISTINCT CondConfg FROM tbl) b
这给出了两个表的不同值的笛卡尔乘积。
但是,如果您是指所有现有组合而不是所有可能的组合:
从tbl选择DISTINCT Xsec,CondConfg