Чтение из 3 таблиц

  • Автор темы Sensor_ua
  • Обновлено
  • 13, May 2024
  • #1
Я беру данные из трех таблиц TEST_DATA, TEST_PARAM и TEST_TEST.

Когда я запускаю вопрос, я получаю больше строк с той же информацией (серийный номер и атрибут), за исключением столбца даты/времени. Как выглядит вопрос SQL, позволяющий получить только последнее значение для каждого pt_param_attr на основе столбца даты? Я не хочу иметь такое же сериално.

с тем же атрибутом.

Например, 8775-001 имеет два атрибута «4» и четыре атрибута «22». Я хочу иметь только самые последние данные для каждого атрибута и каждого серийного номера.

Пожалуйста помоги!

Я использую Sybase, SQL Anywhere 12.

Мой запрос:

ВЫБЕРИТЕ pt_test_man_order, pt_test_serial, pt_data_var, pt_param_attr, pt_data_date

ИЗ тестовых_данных,

test_param,

test_test

ГДЕ pt_test_id = pt_data_test_id

И pt_data_param_id = pt_param_id

И ((pt_test_man_order='8775'))

ЗАКАЗАТЬ ПО pt_test_serial

Я получаю такой ответ:

Sensor_ua


Рег
10 Jun, 2004

Тем
88

Постов
237

Баллов
677
  • 05, Jun 2024
  • #2
Прежде всего, можете ли вы использовать какие-либо псевдонимы для таблиц в своем запросе? Так : ВЫБИРАТЬ ТСТ.pt_test_man_order,
ТСТ.pt_test_serial,
ДАННЫЕ.pt_data_var,
ФРМ.pt_param_attr,
ДАННЫЕ.pt_data_date ИЗ тестовых_данных ДАННЫЕ, test_param ФРМ, test_test ТСТ ГДЕ ТСТ.pt_test_id = ДАННЫЕ.pt_data_test_id И ДАННЫЕ.pt_data_param_id = ФРМ.pt_param_id И ТСТ.pt_test_man_order = '8775' СОРТИРОВАТЬ ПО ТСТ.pt_test_serial; Мы не знаем вашей базы данных, это поможет нам разобраться в проблеме. Тогда можете ли вы объяснить свою потребность? Можете ли вы показать нам содержимое этих таблиц?
 

Persei1


Рег
27 Nov, 2014

Тем
76

Постов
179

Баллов
589