繁体   English   中英

SQL子查询

[英]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.

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