我想根据表2中的两个不同字段从表1中检索两个不同的名称?

时间:2018-12-19 07:04:30

标签: mysql

我有两个表“ phonebook”和“ phonecall”,我想根据callFrom和callTo在电话簿中查找姓名。

我的代码返回相同的名称,因为我仅引用callTo字段,而不能包含callFrom字段。

SELECT 
    phonecall.callDate, 
    phonecall.callTime, 
    phonecall.callFrom, 
    phonebook.personFirstname as First, 
    phonebook.personLastname as Last, 
    phonecall.callTo, phonebook.personFirstname First1, 
    phonebook.personLastname as Last1, 
    phonecall.callDuration
FROM phonecall 
LEFT JOIN phonebook on 
    callTo = phonebook.personService
WHERE 1
ORDER BY phonecall.callDate, phonecall.callTime

此代码失败:

SELECT 
    phonecall.callDate, 
    phonecall.callTime, 
    phonecall.callFrom, 
    phonebook.personFirstname as First, 
    phonebook.personLastname as Last, 
    phonecall.callTo, 
    phonebook.personFirstname as First1, 
    phonebook.personLastname as Last1, 
    phonecall.callDuration
FROM phonecall 
LEFT JOIN phonebook on 
    phonecall.callTo = phonebook.personService
LEFT JOIN phonebook on 
    phonecall.callFrom = phonebook.personService
WHERE 1
ORDER BY phonecall.callDate, phonecall.callTime

我知道这可能非常简单,但是我的SQL经验非常有限,还没有找到任何示例。

1 个答案:

答案 0 :(得分:0)

这不是一个完整的解决方案,只是用来说明如何在不同的条件下两次连接同一张表,然后从每个条件返回列。

number_vector=c(1,5,26,7,94)
for (i in numbers_vector) 
    if ((i >24)&(i%%13 == 0)) {
        print(which(numbers_vector==i))
    } else {
        print(0) 
    }