0
這是我的場景。我有一個字段類型的事件表,其中值1 =食物,2 =食譜。簡化,我的事件表有這樣的結構:改進此查詢以從不同表中獲取數據
id | entity_id | user_id | type | timestamp | field1 | ... field n
場「ENTITY_ID」是指一種獨特的自動增加值從「實體」表。食物和食譜表結構非常相似,具有entity_id和user_id字段。
我想要的是從最後10個寄存器的表事件中獲取所有常用數據,並根據表事件的類型值獲取相應表的一些必需字段。現在我已經取得了一些頗爲相似,但不正是我想要的,與此查詢:
SELECT a.*, b.name, b.field1, b.field2, c.name, c.field1, c.field2
FROM events a
LEFT JOIN foods b ON b.entity_id = a.entity_id
LEFT JOIN recipes c ON c.entity_id = a.entity_id
ORDER BY timestamp DESC LIMIT 10
此八方通將返回所有表中的所有領域,具有NULL值時,該字段爲這個特定類型的不寄存器。 所以我想獲取相應表的所有字段的事件表和名稱,字段1,字段2。
編輯:
這裏是sqlfiddle sqlfiddle.com/#!2/18d45/9我想查詢基於表返回不同的字段值。在示例表中,食譜具有描述字段,而食物不具有描述字段。可能嗎?
請幫助我這個!
請張貼一些示例數據,以及所期望的結果。最好的辦法是製作一個sqlfiddle,以便我們可以嘗試對數據進行不同的查詢。 – Barmar
這裏是sqlfiddle http://sqlfiddle.com/#!2/18d45/9 我想查詢基於表返回不同的字段值。在示例表中,食譜具有描述字段,而食物不具有描述字段。可能嗎? –