一尘不染

如何比较同一张表中的两列?

sql

我想比较同一张表中的两列。我希望能够返回两列具有相同值的所有行。

我正在寻找类似的东西SELECT * FROM FOO WHERE C1 = C4

因此,在下面的示例中,我将仅返回第一行:

C1    || C2  || C3  || C4
--------------------------
1     || a   || b   || 1
2     || a   || b   || 4
3     || b   || d   || 2
4     || b   || d   || 2

如果有关系,我正在使用SQLite(更具体地讲WebSQL)。


阅读 122

收藏
2021-03-10

共1个答案

一尘不染

SELECT * FROM FOO WHERE C1 = C4应该管用。不是吗

如果不是,它们是否具有相同的数据类型和长度?您可能需要转换。

我不了解WebSql,但是我看到一些数据库系统拒绝匹配,即使其中一个是varchar(5)而另一个是varchar(10),即使它们具有相同的值也是如此。在那些系统中,您必须使用类似

 Convert(varchar, 10, FieldName)

进行比赛。

2021-03-10