Я пытаюсь сопоставить столбцы из разных таблиц, сопоставляя их с сегодняшней датой, используя SYSDATE
. Вывод фактически заполняет столбец даты сегодняшней датой во всех строках, а не только одной строкой, которая фактически имеет сегодняшнюю дату.Oracle Sql столбец даты сопоставления для sysdate error
SELECT building.building_code,
building.building_name,
room_booking.booking_date
FROM building,
room_booking,
dual
WHERE to_date(booking_date) = trunc(sysdate)
ВЫХОД ЕСТЬ:
BUILDING_CODE BUILDING_NAME BOOKING_DATE
------------- --------------- ------------
A ARCADIA <17-mar-13>
B BELIZE <17-mar-13>
C CAMDEN <17-mar-13>
D DENVER <17-mar-13>
E EXETER <17-mar-13>
F FORT PORTAL <17-mar-13>
G GRAMPIAN <17-mar-13>
H HELVITICA <17-mar-13>
I INVICTA <17-mar-13>
J JULIET <17-mar-13>
10 rows selected
Там должна быть только одна строка в результате как есть только одна строка с текущей датой в нем. Где я ошибся?
Вам необходимо условие соединения на ваших двух таблицах (и вам не нужно «dual»). – Mat
Спасибо Mat - dual удален сейчас –
Почему у вас есть 'TO_DATE' вокруг' booking_date'? Это строка? –