[英]How can i make a query of two different objects in the same column of one table, relationed to different columns in another table?
I have the tables我有桌子
id INTEGER编号 INTEGER
name姓名
phone_number电话号码
PRIMARY KEY(id)主键(id)
id INTEGER编号 INTEGER
caller_number来电者号码
receiver_number接收者号码
year年
month月
day天
duration期间
PRIMARY KEY(id)主键(id)
I want to take the information like我想获取类似的信息
name1 (as caller) name1(作为呼叫者) | name2 (as receiver) name2(作为接收者) |
---|---|
nikolas尼古拉斯 | mary玛丽 |
kostas科斯塔斯 | bob鲍勃 |
i managed with SELECT name, caller_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.caller_number WHERE year = AND month = AND day = AND duration =;我用 SELECT 名称管理,caller_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.caller_number WHERE year = AND month = AND day = AND duration =; to get要得到
name as caller作为呼叫者的名字 | caller_number来电者号码 |
---|---|
nikolas尼古拉斯 | 6999999999 6999999999 |
kostas科斯塔斯 | 688888888 688888888 |
or with SELECT name, receiver_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.receiver_number WHERE year = AND month = AND day = AND duration =;或使用 SELECT 名称,receiver_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.receiver_number WHERE year = AND month = AND day = AND duration =; to get要得到
name as receiver名称为接收者 | receiver_number接收者号码 |
---|---|
mary玛丽 | 6777777777 6777777777 |
bob鲍勃 | 6555555555 6555555555 |
or with SELECT caller,receiver_number FROM phone_calls WHERE year = AND month = AND day = AND duration;或与 SELECT 呼叫者,receiver_number FROM phone_calls WHERE year = AND month = AND day = AND duration; to get要得到
caller_number来电者号码 | receiver_number接收者号码 |
---|---|
6999999999 6999999999 | 6777777777 6777777777 |
688888888 688888888 | 6555555555 6555555555 |
or with SELECT name, receiver_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.caller_number WHERE year = AND month = AND day = AND duration =;或使用 SELECT 名称,receiver_number FROM people JOIN phone_calls ON people.phone_number = phone_calls.caller_number WHERE year = AND month = AND day = AND duration =; to get要得到
name as caller作为呼叫者的名字 | receiver_number接收者号码 |
---|---|
nicolas尼古拉斯 | 6777777777 6777777777 |
kostas科斯塔斯 | 6555555555 6555555555 |
so i get the name at the telephone number of the caller or the name and the telephone number of the receiver, but not name of the caller and name of the receiver in the same place.所以我在呼叫者的电话号码或接收者的姓名和电话号码上得到姓名,但在同一个地方没有呼叫者的姓名和接收者的姓名。
You need 2 joins to get both caller and receiver's name.您需要 2 个连接才能同时获取呼叫者和接收者的姓名。 For example例如
SELECT caller.name, receiver.name
FROM phone_calls
JOIN people caller ON caller.phone_number = phone_calls.caller_number
JOIN people receiver ON receiver.phone_number = phone_calls.receiver_number
WHERE <your conditions>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.