从两个表中提取SQL数据

时间:2013-03-12 17:34:13

标签: mysql sql join

我有一个名为db.datadb.info的表格。每个条目的db.data表都有namedateadded列。 info表格的每个名称都有namestatus列(状态为 y n )。 我想从db.data表中提取所有按日期添加到该数据库的名称的数据,但前提是状态(db.status中的状态)为n。

我一直在环顾四周找到JOIN,但这似乎只有在两个表中的数据相同时才有效。在这里,名称是相同的,但我想从db.data中提取的数据,但只在“名称”单元格(在两个表中)的状态设置为'n'。

3 个答案:

答案 0 :(得分:1)

根据我的理解,两个表中每个name中的数据相同。所以JOIN应该在这里工作:

SELECT db.data.*
FROM db.data
INNER JOIN db.info ON db.data.name = db.info.name
WHERE db.info.status = 'n'

答案 1 :(得分:1)

您可以在两个表之间使用名称连接

SELECT d.name, d.date
FROM db.data d
    JOIN db.info i ON d.name = i.name
WHERE i.status = 'N'
ORDER BY d.date

答案 2 :(得分:1)

我认为这就是你想要的:

select d.name, d.dateadded
  FROM db.info i, db.data d 
  WHERE i.name = d.name
    AND i.status = 'n';