21:24

Ну, пробьешь ты головой стену. И что ты будешь делать в соседней камере?
Среда: PGAdmin. У меня явно не хватает знаний синтаксиса что бы написать тот запрос который мне нужен. Так вот:
Есть таблица запусков тестов с колнками:
название теста
дата теста
результат теста
Есть вторая таблица где только название тестов которые меня интересует.
Мне нужно вывести список интересующих тестов, с результатами, которые были получены в последний раз.
Мне очень не хватает for что бы вывести весь список, про join и MAX знаю... но как то не вижу решения.

@темы: MS SQL

Комментарии
07.11.2012 в 23:22

なんとかなるさ!
SELECT t1.Name, t1.Date, t1.Result
FROM
(SELECT t1.Name, MAX(t1.Date) as Date
FROM Table2 as t2 LEFT JOIN Table1 as t1 ON t2.Name = t1.Name
GROUP BY t1.Name) as t3
LEFT JOIN Table1 as t1 ON t3.Date = t1.Date AND t3.Name = t1.Name

Если я нигде не напутала синтаксисе (давно на SQL не писала), это примерно так будет. В подзапросе соединяем две таблицы с группировкой, чтоб узнать последнюю дату каждого теста. А потом еще раз соединяем с первой таблицей и по дате вытаскиваем результаты.
08.11.2012 в 00:06

Ну, пробьешь ты головой стену. И что ты будешь делать в соседней камере?
_scorpicora_, ЖЕНЮСЬ!!!!=))))))))))
Спасибо, завтра попробую подставить свои значения. Я просто как то очень мало работал с БД, так что мозг с непривычки ломается)
08.11.2012 в 05:04

この世界は。。。いいですか?
Mr.Freedom, для таких случаев есть Access с его визуальным редактором запросов.
08.11.2012 в 07:50

Ну, пробьешь ты головой стену. И что ты будешь делать в соседней камере?
nio, кстати мысль. Правда копаться в его интерфейсе немного лениво - с sql я хоть работал когда-то.