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

标签 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)。

最佳答案

SELECT * FROM FOO WHERE C1 = C4应该可以工作。不是吗

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

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

 Convert(varchar, 10, FieldName)

进行比赛。

关于sql - 如何比较同一张表中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245440/

相关文章:

sql - TSQL - 带条件的时间列总和

sql - 在 SQL Server 2016 中向 json 字符串添加新值

sql - DB2错误: SQL subselect error not recognized

sql - 从远程 .dbf 文件更新 SQL 服务器

php - 计算数据库中存在的相同项目的总数

php - 插入一行,然后在一个查询中从该行中选择

sqlite3 JOIN,GROUP_CONCAT 使用不同的自定义分隔符

php - 在 WordPress 中按自定义值排序

php - ORDER BY 时间戳 < 24 小时的记录数量 (MySQL)

MySQL LIMIT 不工作