0
在MySQL中,如果設置了外鍵,如何從另一個表中選擇?有條件地從MySQL中的一個表或另一個表中選擇
我試圖做的是選擇Fields.value
如果Fields.value_id
沒有設置,否則從Values
其中Value.id
等於Fields.value_id
選擇Values.value
。
我的表:
Fields:
id | value | value_id
Values:
id | value
出了什麼問題我在這裏的代碼?
代碼:
SELECT CASE WHEN Field.value_id = NULL OR Field.value_id = "" THEN Field.value ELSE Value.value FROM values as Value WHERE (Field.value_id = Value.id)
嗯,這仍然是拋出語法錯誤。我不小心在我的原始文章('fieldtype'而不是'field')中輸入了錯字 - 我更新了更正和表格結構。 – schnauss 2014-09-06 01:56:41
啊,非常有趣。如果我稍微調整一下,並將其指向一個以相同方式鏈接的不同表格,我會得到一個'Cardinality Error'。 MySQL中的Value或Values是限制詞嗎? – schnauss 2014-09-06 03:29:19
@schnauss。 。 。 'values'是一個保留字。我沒有打擾它逃脫,因爲你在你的問題中使用了這個名字。 (保留字列表在這裏:http://dev.mysql.com/doc/refman/5.7/en/reserved-words.html)。 – 2014-09-06 14:35:38