使用算法更新表条目

时间:2016-03-12 09:07:52

标签: php mysql algorithm

我有5000行的条目表。现在我想在第一列的引用中添加两个列。 (即)应将第一个条目与所有条目进行比较,不应将其与相同的值进行比较。 (即)如果值“a”用于比较,则应将“a”与同一列中的所有条目进行比较,但不是相同的值。请考虑以下示例

这是我的表格。

----------
entry1
----------
a
b
c
d

预期的表输出

----------------------
 entry 2 | entry 3
----------------------
a   | b
a   | c
a   | d
b   | a
b   | c
b   | d
c   | a
c   | b
c   | d
d   | a
d   | b
d   | c

如果有人知道plz帮我代码。

2 个答案:

答案 0 :(得分:2)

您可以将CROSS JOIN与WHERE子句一起使用,不包括相等的值。

假设表名只是表:

public static void main(String[] args){
    public foo(){}
}

这提供了您想要的输出,然后您将必须使用ALTER TABLE语句。

此致

答案 1 :(得分:1)

获得此用途:

SELECT t1.entry AS entry2 ,t2.entry AS entry3
FROM mytable t1
LEFT JOIN mytable t2 ON t1.entry <> t2.entry
ORDER BY t1.entry,t2.entry;

<强>示例

MariaDB []> select entry from mytable;
+-------+
| entry |
+-------+
|     1 |
|     2 |
|     3 |
|     4 |
|     5 |
|     6 |
+-------+
6 rows in set (0.00 sec)

MariaDB []> SELECT t1.entry,t2.entry
    -> FROM mytable t1
    -> LEFT JOIN mytable t2 ON t1.entry <> t2.entry
    -> ORDER BY t1.entry,t2.entry;
+-------+-------+
| entry | entry |
+-------+-------+
|     1 |     2 |
|     1 |     3 |
|     1 |     4 |
|     1 |     5 |
|     1 |     6 |
|     2 |     1 |
|     2 |     3 |
|     2 |     4 |
|     2 |     5 |
|     2 |     6 |
|     3 |     1 |
|     3 |     2 |
|     3 |     4 |
|     3 |     5 |
|     3 |     6 |
|     4 |     1 |
|     4 |     2 |
|     4 |     3 |
|     4 |     5 |
|     4 |     6 |
|     5 |     1 |
|     5 |     2 |
|     5 |     3 |
|     5 |     4 |
|     5 |     6 |
|     6 |     1 |
|     6 |     2 |
|     6 |     3 |
|     6 |     4 |
|     6 |     5 |
+-------+-------+
30 rows in set (0.00 sec)