我有3個表,用戶,旅行和tripDetails。複雜SQL查詢與樞軸
id(INT), user_id(INT) & dateCreated(DATE)
和4行中的tripDetails表中創建:
id(INT), trip_id(INT), field(VARCHAR) & value(VARCHAR)
其中字段是'SMARTBOX當用戶創建一個跳閘在行程表中創建具有以下字段的行.destination」, 'smartbox.dateFrom', 'smartbox.dateTo', 'smartbox.numberOfPeople' 和值列是一個varchar。 但是,假設用戶更改了目的地並保存了此更改,在旅行表中創建了一條新記錄,並且在tripDetails表(更新的目的地)中創建了一條記錄
現在我想要創建一個選擇這會給我一個用戶的行程的快照對於一個給定的一天,列標題:
user_id, trip_id, destination, dateFrom, dateTo, numberOfPeople, givenDay(DATE)
例如,如果一個領域已經對給定的一天改變了,所有的其他列會顯示什麼他們最近的值是相對於那一天。
我已經成立了一個sqlfiddle here
在tripDetails中,您是否有任何時間戳列?還有什麼是'givenDay'? – Utsav
不,創建記錄的日期存儲在旅行表中。 givenDay是我要拍攝快照的那一天 – BrotherBarnabas
您的'tripDetails.value'列值允許包含NULL嗎? – nop77svk