所以,我必须旨在发现和显示部,城市和国名与SA_MAN和SA_REP的JOB_IDs所有员工这是一个查询,如下所示:MySQL的 - 查询输出合并数据
SELECT DEPARTMENT_NAME, CITY, COUNTRY_NAME
FROM OEHR_EMPLOYEES
INNER JOIN OEHR_DEPARTMENTS ON OEHR_EMPLOYEES.DEPARTMENT_ID=OEHR_DEPARTMENTS.DEPARTMENT_ID
INNER JOIN OEHR_LOCATIONS ON OEHR_DEPARTMENTS.LOCATION_ID=OEHR_LOCATIONS.LOCATION_ID
INNER JOIN OEHR_COUNTRIES ON OEHR_LOCATIONS.COUNTRY_ID=OEHR_COUNTRIES.COUNTRY_ID
WHERE JOB_ID LIKE '%SA_MAN%' OR JOB_ID LIKE '%SA_REP%'
ORDER BY DEPARTMENT_NAME DESC
/
但是,所有的员工驻留在一个部门中,因此对于SA_MAN或SA_REP的JOB_ID列中的每个员工而言,输出结果都是一样的。如图所示:
DEPARTMENT_NAME COUNTRY_NAME CITY
------------------------------ ---------------------------------------- ----------------------------
Sales United Kingdom Oxford
Sales United Kingdom Oxford
Sales United Kingdom Oxford
这继续34行。简单地说,我怎样才能使查询中的输出反复停止这种不必要的相同数据的显示,并只显示一行。如果查询发生变化,并且仍然执行相同的操作,以便每个包含指定员工的部门只显示一行,我希望此功能也能够工作。
这是一个非常好的习惯,可以使用别名并相应地限定列名。它使查询更容易阅读 - 与明智使用CAPS LOCK键相同。 – Strawberry
尝试使用:** SELECT DISTINCT ** –
并参见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me- to-be-a-very-simple-sql-query – Strawberry