2013-05-07 3 views
1

Я пытаюсь запросить три таблицы и найти определенный результат.SQL Query Across Three Tables

каталог Строка playerid, String колледж, внутр год

playersSchools Строка playerid, String schoolID

зарплаты Строка playerid, внутр зарплата, внутр год

I я пытаюсь присоединиться к этим таблицам, чтобы узнать, какие колледжи производят самую высокую зарплату Айерс. каталог дает идентификатор для школы, а playersSchools дает имя колледжа и выпускников года. Это то, что я имею прямо сейчас, что не работает, я все еще новичок в SQL и пытаюсь поправиться.

SELECT a.salary, b.college, c.playerid, d.graduatingyear 
FROM 
salaries as a 
inner join directory as b on a.playerid=b.playerid 
inner join playersschools as c on b.playerid=c.playerid 
where 
a.salary > 500000 
sort by 
a.salary 

Спасибо!

Некоторые примеры данных в моих таблицах:

каталог

  • Строка Playerid: "ahron01", "tomv19", "samh25"
  • Строка колледжа: "WVU", «PSU », "су"
  • INT год выпуска: 1956, 1978, 1990

playersSchools

  • Строка Playerid: "ahron01", "tomv19", "samh25"
  • Строка SchoolID: "WVU", "PSU", "су"
  • INT graduatingyear: 1995, 2000, 2002

зарплаты

  • Строка Playerid: "ahron01", "tomv19" "Samh25"
  • ИНТ зарплаты: "+500000", "4580000", "1000000"
  • INT Год выпуска: 1956, 1986, 2000

Так что я хотел бы получить в результате будет упорядоченный список, как:

playerid, колледжа, зарплаты, graduatingyear "ahron01", WVU, $ 500 000, 1956

и тогда я бы отсортировать по наиболее высокооплачиваемой и какой колледж. Я пытаюсь понять, какие колледжи производят самых высокооплачиваемых игроков, и печатать их год окончания.

Спасибо!

+0

пожалуйста, напишите пример того, что у вас есть в таблицах и результат вы хотите. –

+0

лучше даже создать http://sqlfiddle.com/ с вашими данными – luksch

+0

, а также сделать так, чтобы у вас был год результата? – Dhaval

ответ

1

этого запроса вы получите первый игрок которым выплачивается высокую зарплату

вы можете добавить где условия для более фильтра ...

SELECT top 1 a.salary, b.college, c.playerid 
FROM 
salaries as a 
inner join directory as b on a.playerid=b.playerid 
inner join playersschools as c on b.playerid=c.playerid 

sort by 
a.salary desc 
+0

Спасибо, Джаваль! Это заставляет меня кататься! – pacificobuzz