0

可能重复:
带有逗号分隔值的 mysql

我有两个包含更多行的表,如下所示:

1. numberstable
    ---------------------------
    | number_id | number_name |
    ---------------------------
    |    1      |     one     |
    |    2      |     two     |
    |    3      |     three   |
    |    4      |     four    |
                .
                .
                .
    ---------------------------

2. testtable
    -------------------------------
    | test_id | numbers | sthelse |
    -------------------------------
    |    1    | 2.4.5.6 | text1   |
    |    2    | 4.8.7.1 | text2   |
    |    3    | 2.7.8.5 | text3   |
    -------------------------------

首先,我想将表“testtable”中的所有三个“数字”行组合起来,得到如下结果:1.2.4.5.6.7.8,然后在下一个查询中排除它。此查询是“SELECT number_id, number_name FROM numberstable ORDER BY number_name”。排除后,我想只显示“testtable”中未使用的数字(9、10、11,...)。

怎么做?

4

1 回答 1

1

如果您试图将 numberstable 与可测试相关联。我认为您最好添加另一个表,该表将这两个表与您具有类似模式的位置相关联

1. numberstable
    ---------------------------
    | number_id | number_name |
    ---------------------------
    |    1      |     one     |
    |    2      |     two     |
    |    3      |     three   |
    |    4      |     four    |
                .
                .
                .
    ---------------------------

2. testtable
    ---------------------
    | test_id | sthelse |
    ---------------------
    |    1    | text1   |
    |    2    | text2   |
    |    3    | text3   |
    --------------------

3. numbersintesttable
    -----------------------
    | test_id | number_id |
    -----------------------
    |    1    | 2         |
    |    1    | 4         |
    |    1    | 5         |
    |    1    | 6         |
    |    2    | 4         |
    |    2    | 8         |
    |    2    | 7         |
    |    2    | 1         |
    -----------------------

因此,新表将是一个多对多连接表,您可以使用它通过使用您想要的连接类型(INNER、OUTER 等)在单个查询中获取所有需要的数据

于 2012-08-15T15:55:05.967 回答