簡體   English   中英

如何僅使用一個查詢從另一個表中選擇兩個不同的值?

[英]How can I select two different values from another table using only a single query?

我有一個帶有用戶名的user表,以及一個帶有from_idto_idmessage表。 我如何從用戶名 ,並且僅使用單個查詢用戶名獲得?

我使用了以下查詢,但是出了點問題:

select id,name 
from   user
where  'id' not in (select 'from_id' from message) and
       'id' not in (select 'to_ID' from message);

user

用戶表

message

信息表

要獲取用戶名和用戶select id, name from user u, message m where u.id=m.from_ID and u.id=m.to_ID

嘗試這個:

SELECT m.id 'message_id',
       `u1`.`name` `from_name`,
       `u2`.`name` `to_name`
FROM   `message` `m`
JOIN   `user` `u1` ON `m`.`from_id` = `u1`.`id`
JOIN   `user` `u2` ON `m`.`to_id`   = `u2`.`id`
SELECT from.name as FromUser, to.name AS ToUser 
FROM user AS from, user AS to, (SELECT * FROM message where id=somevalue) AS m 
WHERE from.emp_id = m.from_id AND to.emp_id=m.to_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM