我有这个查询
SELECT model,year FROM new_vehicles WHERE make=Ford
UNION
SELECT model,year FROM old_vehicles WHERE make=Ford ORDER BY model
在此之后,我在PHP中有一个while语句,以获得这些模型的列表以及年份。
问题是这会在列表中打印出重复的模型。如果我在查询中不使用年份,我会获得唯一的模型列表。我需要年份,因为我在WHILE中使用它。
我在上面的SELECT之后添加了不同但它没有改变结果,可能是因为UNION无论如何返回uniques。
无论如何如何获得独特的模型并包含年份?
答案 0 :(得分:0)
使用'组'每个模型返回一行的子句,但您需要决定要查看哪一年。我假设最新的。
包括'制作'可能是值得的。在查询中也是如此。它可以使报告更容易。
未测试
SELECT make, model, max(year)
FROM new_vehicles
WHERE make = 'Ford'
GROUP_BY make, model
ORDER BY make, model
UNION
SELECT model, max(year)
FROM old_vehicles
WHERE make = 'Ford'
GROUP_BY make, model
ORDER BY make, model
答案 1 :(得分:0)
试试这个......
SELECT distinct(nv.model),
nv.year as newModelYear,
ov.year as oldModelYear
FROM new_vehicles nv, old_vehicles ov
WHERE
nv.make = ov.make and
nv.make= 'Ford'