Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将一个表中的多个值连接到另一个表上的共享值_Sql_Join_Toad - Fatal编程技术网

Sql 将一个表中的多个值连接到另一个表上的共享值

Sql 将一个表中的多个值连接到另一个表上的共享值,sql,join,toad,Sql,Join,Toad,如果这个问题已经发布,我很抱歉,但我真的不知道如何正确地描述它,除了使用一个例子 为了简化我的问题,我创建了以下表格 基本上,我想链接 水果.颜色\u ID至颜色形状.值 果形与果形的比值 但是,我要显示的是colorShapes.VALUE,它是两个独立的列。 此外,我想让每一种水果展示尽可能多的次数,因为他们的可用性存在 FRUITNAME COLOUR SHAPE AVAILABILITY ORANGE ORANGE ROUND METRO ORANGE ORANGE

如果这个问题已经发布,我很抱歉,但我真的不知道如何正确地描述它,除了使用一个例子

为了简化我的问题,我创建了以下表格

基本上,我想链接

水果.颜色\u ID至颜色形状.值 果形与果形的比值 但是,我要显示的是colorShapes.VALUE,它是两个独立的列。 此外,我想让每一种水果展示尽可能多的次数,因为他们的可用性存在

FRUITNAME   COLOUR  SHAPE   AVAILABILITY
ORANGE  ORANGE  ROUND   METRO
ORANGE  ORANGE  ROUND   LOBLAWS


TABLE #1: FRUIT         
FRUIT_ID    FRUITNAME   COLOUR_ID   SHAPE_ID
1   ORANGE  10  20
2   BANANA  11  21
3   APPLE   12  20
4   PEAR    13  20

TABLE #2: COLOURSHAPES          
VALUE   DESCRIPTION     
10  ORANGE      
11  YELLOW      
12  RED     
13  BROWN       
20  ROUND       
21  LONG        

TABLE #3: AVAILABILITY          
FRUIT_ID    STORE       
1   METRO       
1   LOBLAWS     
2   FRESHCO     
3   METRO       
4   FRESHCO 

你可以加入表2两次,一次是为了得到颜色,另一次是为了得到形状

select T3.FRUIT_ID, T1.FRUIT_NAME, T3.STORE, T2A.DESCRIPTION, T2B.DESCRIPTION
from TABLE3 T3
join TABLE1 T1
left join TABLE2 T2A on T1.COLOUR_ID=T2A.VALUE
left join TABLE2 T2B on T1.SHAPE_ID=T2B.VALUE

在表3和表1之间缺少一个连接,您还需要在t2a和t2b之间加入一个连接来消除重复谢谢!我不知道你可以通过称它为不同的东西来加入同一个表两次。