在一个查询中多次选择一个表 [英] Select one table multiple times in one Query

查看:69
本文介绍了在一个查询中多次选择一个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有三张桌子.我想进行选择查询,以产生结果.
请帮助我...

颜色
1. ID
2.名称
3.代码

值(1,"RED",#FF0000");
值(2,"GREEN",#00FF00");
值(3,蓝色",#0000FF");

百分比
1. ID
2.百分比
3.说明

值(1,0,零");
值(2、25,更轻");
值(3、50,"Mid");
值(4,75,较高"));
值(5,100,"Full");

SampleTable
1. ID
2.名称
3. Color_Id1
4. Percentage_Id1
5. Color_Id2
6. Percentage_Id2
7. Color_Id3
8. Percentage_Id3
9.说明
值(1,"ZYX",1、2、2、3、3、2,"DDDDDDDDDDDDD");

I have Three Tables. I want to make a Select Query which will produce the result.
Please Help me ...

Color
1. Id
2. Name
3. Code

Values( 1, "RED", "#FF0000");
Values( 2, "GREEN", "#00FF00");
Values( 3, "BLUE", "#0000FF");

Percentage
1. Id
2. Percentage
3. Description

Values( 1, 0, "Zero" );
Values( 2, 25, "Lighter" );
Values( 3, 50, "Mid" );
Values( 4, 75, "Higher" );
Values( 5, 100, "Full" );

SampleTable
1. Id
2. Name
3. Color_Id1
4. Percentage_Id1
5. Color_Id2
6. Percentage_Id2
7. Color_Id3
8. Percentage_Id3
9. Description
Values( 1, "ZYX", 1, 2, 2, 3, 3, 2, "DDDDDDDDDDD");

I want : ( 1, "ZYX",  "RED", "#FF0000",  25, "Lighter" ,
                      "GREEN", "#00FF00", 50, "Mid"  ,
                      "BLUE", "#0000FF", 25, "Lighter", "DDDDDDDD")

推荐答案



请尝试以下查询.

Hi,

Please try the following query.

SELECT     SampleTable.ID, SampleTable.Name, Color.Name AS Expr1, Color.Code, Percentage.Percentage, Percentage.Description, Color_1.Name AS Expr2, 
                      Color_1.Code AS Expr3, Percentage_1.Percentage AS Expr4, Percentage_1.Description AS Expr5, Color_2.Name AS Expr6, Color_2.Code AS Expr7, 
                      Percentage_2.Percentage AS Expr8, Percentage_2.Description AS Expr9
FROM         SampleTable INNER JOIN
                      Color ON SampleTable.Color_Id1 = Color.ID INNER JOIN
                      Percentage ON SampleTable.Percentage_Id1 = Percentage.ID INNER JOIN
                      Color AS Color_1 ON SampleTable.Color_Id2 = Color_1.ID INNER JOIN
                      Percentage AS Percentage_1 ON SampleTable.Percentage_Id2 = Percentage_1.ID INNER JOIN
                      Color AS Color_2 ON SampleTable.Color_Id3 = Color_2.ID INNER JOIN
                      Percentage AS Percentage_2 ON SampleTable.Percentage_Id3 = Percentage_2.ID



希望对您有所帮助.

谢谢,
Viprat



I hope it might be help you.

Thanks,
Viprat


谢谢.
我用...........
解决了问题
(字段名称已更改,但结构尚可)
Thanks to you.
I Solved the problem with ...........

(Field Name change but structure is OK)
Select 
 [SampleTable].[Id] AS [Id],
 [SampleTable].[Name] AS [Name],
 [SampleTable].[Color_Id1] AS [Color Id1],
 [Color].[Id] AS [Color_Id],
 [Color].[Color_Name] AS [Color_Color Name],
 [Color].[Description] AS [Color_Description],
 [SampleTable].[Percentage_Id1] AS [Percentage Id1],
 [Percentage].[Id] AS [Percentage_Id],
 [Percentage].[Percentage] AS [Percentage_Percentage],
 [Percentage].[Description] AS [Percentage_Description],
 [SampleTable].[Color_Id2] AS [Color Id2],
 [Color4].[Id] AS [Color4_Id],
 [Color4].[Color_Name] AS [Color4_Color Name],
 [Color4].[Description] AS [Color4_Description],
 [SampleTable].[Percentage_Id2] AS [Percentage Id2],
 [Percentage5].[Id] AS [Percentage5_Id],
 [Percentage5].[Percentage] AS [Percentage5_Percentage],
 [Percentage5].[Description] AS [Percentage5_Description],
 [SampleTable].[Color_Id3] AS [Color Id3],
 [Color6].[Id] AS [Color6_Id],
 [Color6].[Color_Name] AS [Color6_Color Name],
 [Color6].[Description] AS [Color6_Description],
 [SampleTable].[Percentage_Id3] AS [Percentage Id3],
 [Percentage7].[Id] AS [Percentage7_Id],
 [Percentage7].[Percentage] AS [Percentage7_Percentage],
 [Percentage7].[Description] AS [Percentage7_Description],
 [SampleTable].[Details] AS [Details]

from  [SampleTable] 
 INNER JOIN [Color] AS [Color4] ON [SampleTable].[Color_Id2] = [Color4].[Id]
 INNER JOIN [Percentage] AS [Percentage5] ON [SampleTable].[Percentage_Id2] = [Percentage5].[Id]
 INNER JOIN [Color] AS [Color6] ON [SampleTable].[Color_Id3] = [Color6].[Id]
 INNER JOIN [Percentage] AS [Percentage7] ON [SampleTable].[Percentage_Id3] = [Percentage7].[Id]
 , [Color], [Percentage]
where 
 [Color].[Id] = [SampleTable].[Color_Id1] AND
 [Percentage].[Id] = [SampleTable].[Percentage_Id1] 


==========================


============================


这篇关于在一个查询中多次选择一个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆