【发布时间】:2010-10-16 08:39:08
【问题描述】:
好的,这听起来可能有点奇怪,但我需要做的很简单。我有一份公司名单,每个公司都有描述。该网站有 4 种语言版本。我的问题是当我用英文列出了一家公司,但负责翻译法文的人仍然没有翻译,所以我有一个简单的:
SELECT TOP(6)
company.name,
company.description,
company.address
WHERE
langid=1
ORDER BY
company.id DESC
真正的查询更复杂,但我认为使用这个查询会更容易理解问题。我需要做的是,当 langid 2 中的描述为空时,请向我显示 langid 1,因为 langid 1 始终是第一个添加的。我不想将描述字段显示为空。
想象一下第 1 行、第 2 行、第 3 行和第 5 行有 langid 2 的描述,但没有第 4 行和第 6 行。我需要为包含它的行显示 langid 2,但为没有描述的行显示 langid 1。
我知道我可以用 @i 字段递增并在临时表中一个一个地插入结果来做一段时间,但是有没有更好的方法呢?
【问题讨论】:
-
是否所有公司描述(任何语言)都存储在公司表中?即给定公司有 N 条公司记录?
-
所有常用字段都在公司表中,多语言字段在另一个表中(每种语言一行,所以理论上公司每1行多语言表中有5行)...仍然无法再次进行该项目,我可能会在明天尝试....
标签: sql tsql select multilingual case