日安抓取設置默認翻譯,數據庫的問題:從表中
我有一個MySQL表描述,持有領域,如:LANG_ID,標籤,SHORT_DESCRIPTION,LONG_DESCRIPTION和is_default。
在我的應用程序中,根據當前的語言從數據庫中提取產品描述。現在一切正常,但是我想爲每個產品添加默認描述,以便找不到所需語言的描述,取而代之的是獲取默認描述。
現在,我的要求是這樣的:
SELECT
description.id AS record_id
description.label,
description.short_description,
description.long_description
FROM
products,
description,
languages
WHERE
products.id = '.$someProductID.' AND
products.id = description.product_id AND
languages.id = description.lang_id AND
languages.code = "'.$someLang.'"
有沒有人有一個獲取產品的默認說明時所需的翻譯不存在的解決方案嗎?
我想添加一些IFNULL陳述了我的要求,像這樣的:
IFNULL(description.label, (SELECT label FROM description WHERE product_id = '.$someProductID.' AND is_default = 1)) AS label
但我不是很熟悉這種複雜的查詢,我不能使它工作。
我願意接受建議;)
謝謝!
你的第一個例子看起來不錯,但我真的不明白你的語法。另外,i.id,「我」是什麼?這是一個錯誤? 您介意以我在問題中使用的格式重寫您的第一個示例嗎?這真的會幫助我理解,這會讓我去嘗試。 謝謝! – doM 2009-08-24 17:51:49
'@ doM':對不起,只是從我的博客複製它,並沒有修復所有的名字。等一下! – Quassnoi 2009-08-24 17:53:03
說我的數據庫不存在函數COALESCE。我正在使用MySQL 5.0.51a – doM 2009-08-24 18:10:06