[英]SQL Sub Queries
我有以下查询:
SELECT id, subject, date
FROM mail
WHERE date > some_date
我需要将上述查询返回的ID与另一个表进行交叉引用,以获取用户的用户名。 如何在一个查询中完成?
现在我正在这样做:
foreach (id in result)
{
query = String.Format("SELECT username from USERS where id = {0}", id);
}
预期的列输出:
id subject date username
--------------------------------
SELECT m.id, u.username, m.subject, m.date
FROM mail m
inner join USERS u on m.id = u.id
WHERE m.date > @some_date
当然,如果要在C#/ LINQ中使用它:
var msgs = from m in db.Mail
where m.date > some_date
select new
{
m.id,
m.subject,
m.date,
m.Users.Username
};
采用:
SELECT m.id,
m.subject,
m.date,
u.username
FROM MAIL m
JOIN USERS u ON u.id = m.id
AND u.id = {0}
WHERE m.date > some_date
SELECT username FROM users WHERE id IN (
SELECT id FROM mail WHERE date > some_date
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.