我有这样的情况。我有两个mysql表。一个“数据”表和第二个表“mirror_data”。 “data”表包含“local”列(在此列中只存储一个数字)。这是“mirror_data”表
CREATE TABLE IF NOT EXISTS mirror_data
(
id_mir INT(11) NOT NULL UNIQUE,
local VARCHAR(255),
local_mir VARCHAR(255),
id_data INT(11) NOT NULL DEFAULT 0
);
这第二个表是什么意思=>我已经标记了本地列只包含一个数字并在此(第二个表mirror_data)中包含在本地列中的相同信息(就像在“数据”表中一样),但也包含local_mir列,它标记了人名,让我们说这个只是一些字符串。
以下是情况=>当我从“数据”表中检索信息时,想检查每个信息是否存在local_mir字符串(来自“mirror_data”表)当前本地(来自“数据”表)列,如果存在则从local_mir中检索此字符串而不是数字(来自本地列的“数据”表)。
有什么想法怎么做?
答案 0 :(得分:2)
我不确定,如果我得到你想要的东西,但它是这样的吗?
SELECT
data.id,
case
when mirror_data.local_mir is not null then mirror_data.local_mir
else
data.local
end local
FROM
data
LEFT JOIN
mirror_data
ON data.id = mirror_data.id_mir
或使用COALESCE功能......