1

我很难弄清楚如何用 sql将两列合并在一起(我是新手)。它应该很简单,但我根本找不到办法。我有来自两个不同选择语句的两个结果,它们都有相同的行数,但不同的列。我只想将所有列“附加”在一起。

例子。这是第一个表:

培训师等级表

这是第二张表:

说明翻译

以下查询:

SELECT [t].* FROM [TrainerClass] AS [t];

或者干脆

SELECT * FROM [TrainerClass];

将给出此处显示的结果:

查询编号 1 结果

现在,第二个查询,即:

SELECT [d].[Description] AS [Name] FROM [DescriptionTranslation] AS [d], [TrainerClass] AS [t] WHERE [d].[TableName] = 'TrainerClass' AND [d].[FieldName] = 'Name' AND [d].[Code] = [t].[Code] AND [d].[Language] = 'en-EN';

将导致此表:

查询2号结果

很直接。现在,我只想得到的是:

最后结果

为什么对我这么难?你会怎么做才能做到这一点?提前致谢!

4

3 回答 3

4
SELECT [t].*,
       [d].[Description] AS [Name],
       [d2].[Description] AS [Description]
FROM   [TrainerClass] AS [t] join [DescriptionTranslation] AS [d] on [t].[Code] = [d].[Code]
       join [DescriptionTranslation] AS [d2] on [t].[Code] = [d2].[Code]
WHERE  [d].[TableName] = 'TrainerClass' AND 
       [d].[FieldName] = 'Name' AND 
       [d].[Language] = 'en-EN' AND
       [d2].[FieldName] = 'Description'
于 2013-10-03T15:25:45.347 回答
0

如果您的表中有任何公共 ID,您可以按照答案中的说明使用 join,否​​则您可以使用 union 语句

于 2013-10-03T15:27:56.273 回答
0

下面的语句将允许您在它们的公共字段(代码)上将 2 个表连接在一起然后您可以简单地从任一表中选择您喜欢的任何内容。

希望这可以帮助!

SELECT ID, Code, Name FROM DescriptionTranslation join TrainerClass on DescriptionTranslation.Code = TrainerClass.Code

于 2013-10-03T15:29:58.440 回答