繁体   English   中英

带有两个引用一个的列的SQLite查询

[英]SQLite Query with TWO columns referring to ONE

我感到难过。 我正在尝试编写一个有两个表的SQLite查询。 一个表有两列,它们都指向第二个表中的同一列。 例如,

Table1
ID     Text     Sender     Recipient    
1     Hi There  1          2 
2     What?     2          1
3     Weirdo!   3          1

Table2
ID    Name     Screenname
1     Me       Me
2     Sally    Sal_gal
3     Bob      Bob

我正在尝试编写查询,在该查询中我将获得以下结果,因为发自表1的发件人和收件人都指向表2中的ID。

Results
ID       Text       Sender       Recipient
1       Hi There    Me           Sally
2       What?       Sally        Me
3       Weirdo      Bob          Me 

两次使用JOIN

SELECT t1.ID, t1.Text, t2.Name AS Sender, t3.Name AS Recipient
FROM Table1 t1
JOIN Table2 t2
  ON t1.Sender = t2.ID
JOIN Table2 t3
  ON t1.Recipient = t3.ID;

LiveDemo

输出:

╔════╦══════════╦════════╦═══════════╗
║ ID ║   Text   ║ Sender ║ Recipient ║
╠════╬══════════╬════════╬═══════════╣
║  1 ║ Hi There ║ Me     ║ Sally     ║
║  2 ║ What?    ║ Sally  ║ Me        ║
║  3 ║ Weirdo!  ║ Bob    ║ Me        ║
╚════╩══════════╩════════╩═══════════╝

我假设您已经在两个表之间定义了外部。 否则,您可能需要使用LEFT JOIN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM