sql - 查询没有产生它应该产生的结果

标签 sql sqlite

我有以下两个表:

表作者:

AuthorID  Name
A         John
B         Alex
C         Carl

表作者兼容性:

AuthorID1    AuthorID2    Compatibility
A            B            5.0
A            C            4.0
B            C            4.5

我想制作以下内容:

AuthorID1   Name1    AuthorID2   Name2   Compatibility
A           John     B           Alex    5.0
A           John     C           Carl    4.0
B           Alex     C           Carl    4.5

这是我尝试过的方法,但我知道它不起作用:

select AuthorID1, A.Name, AuthorID2, B.Name, Compatibility
from AuthorsCompatibility, Authors as A, Authors as B
where AuthorID1=A.AuthorID and AuthorID2=B.AuthorID

最佳答案

SELECT ac.AuthorID1, a.Name, ac.AuthorID2, b.Name, ac.Compatibility
FROM AuthorsCompatibility ac
INNER JOIN AUTHORS a ON ac.AuthorID1 = a.AuthorID
INNER JOIN AUTHORS b ON ac.AuthorID2 = b.AuthorID

关于sql - 查询没有产生它应该产生的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097783/

相关文章:

sql - 优化 Spark 中的 Hive 表加载时间

sql - 学习 SQL 的硬方法 - 练习 2 - 创建多表数据库 - .schema 命令

sql - 有没有办法访问 SELECT 语句中的 "previous row"值?

mysql - SQL 性能 UNION 与 OR

iphone - 无法使用 iOS 将数据插入 sqlite3 数据库

php - 如何有效地同时哈希多个密码?

android - 无法从 CursorWindow 读取行和列

ios - FMResultset 到 Nsarray

sql - NULL 或 NOT NULL - 对性能的影响

python - 如何在多线程 Python 应用程序中共享单个 SQLite 连接