根据其他表中的数据选择特定行

时间:2014-01-17 13:14:35

标签: mysql date select join sqlfiddle

我有流动的桌子:

请参阅小提琴: http://sqlfiddle.com/#!2/c1c2f/1

我正在努力找到一种方法

  

选择software.name,systems.pc(或software.pc),systems.user

仅对于行,software.date字段与systems.time字段匹配 意思是字段

2 个答案:

答案 0 :(得分:2)

你需要一个JOIN,就像这样:

SELECT software.name, software.pc, systems.pc, systems.user
FROM software
JOIN systems
ON software.date = systems.time AND software.pc = systems.pc;

小提琴:http://sqlfiddle.com/#!2/c1c2f/34/0

答案 1 :(得分:1)

在使用JOIN查询复杂数据时最好使用别名,请参阅以下内容:

SELECT so.name, sy.pc, sy.user FROM software so 
JOIN systems sy
WHERE so.date = sy.time AND so.pc = sy.pc;

特别是,当您有相同的命名列时。在您的情况下,两个表都有相同的列(PC)。