Вставка строк в таблицу с условиями даты

#sql #ms-access

#sql #ms-access

Вопрос:

У меня есть две таблицы DGS и TFIFO, и я хочу вставить все строки, содержащие: date.DGS > max(дата.TFIFO).

Я пытался

 INSERT INTO Tabla_Fifo ( Pieza, date )
SELECT [DGS].PIEZA, [DGS].DATE
FROM TFIFO, [DSG]
WHERE ((([DSG].DATE)>Max(TFIFO.DATE)));
  

но это не работает.

Большое спасибо 🙂

Комментарии:

1. Не работает каким образом? Работает ли SELECT, если вы запускаете его автономно?

2. Что Max(TFIFO.DATE)) ожидается сделать?

3. возвращает последнюю дату

Ответ №1:

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

 INSERT INTO Tabla_Fifo (Pieza, date)
SELECT [DGS].PIEZA, [DGS].DATE
FROM [DSG]
WHERE [DSG].DATE > (SELECT MAX(DATE) FROM [TFIFO]);
  

Я даже не вижу смысла присоединяться к TFIFO таблице, поскольку вы всего лишь выбираете значения из DSG . Вместо этого я использую только TFIFO таблицу в подзапросе.