你好旅行者堆栈溢出。我并不完全确定如何去问这个,而不是用图片来更好地解释我所得到的。如果有机会在别处问过这个问题,我找不到它,我表示歉意。MYSQL非规范化表查找
我有2个表tableA和tableB。 TableA包含一个标记为id和displayName的列,其中有几十个项目(为了简单起见,我们假设只有5个)。 ID列是唯一的,并且自动递增,它也是搜索的主键。第二个表格(TableB)也包含该项目的id,但也包含4个对TableA's id的引用以及一些无关紧要的无关信息。所以会出现这样的:
TableA
-------------------------
| id | displayName |
-------------------------
| 1 | itemA |
| 2 | itemB |
| 3 | itemC |
| 4 | itemD |
| 5 | itemE |
-------------------------
TableB
--------------------------------------------------------
| id | name | varA | varB | varC | varD |
--------------------------------------------------------
| 1 | elm1 | 3 | 4 | 2 | 5 |
| 2 | elm2 | 4 | 5 | 2 | 1 |
| 3 | elm3 | 1 | 4 | 3 | 2 |
| 4 | elm4 | 2 | 1 | 5 | 4 |
| 5 | elm5 | 3 | 4 | 5 | 1 |
--------------------------------------------------------
我现在有一个查询,将塌陷的价值和给我的信息,我需要: SQL:SELECT tB.name,tB.varA,tB.varB,tB.varC ,tB.varD FROM tableB的TB GROUP BY tB.name
现在我想要做的是,而不必翻,varB等显示为数字,来代替已经与TableA的相关数据和插入的displayName 。因此,而不是
Result
-----------------------------------------------
| name | varA | varB | varC | varD |
-----------------------------------------------
| elm1 | 3 | 4 | 2 | 5 |
| elm2 | 4 | 5 | 2 | 1 |
-----------------------------------------------
它会显示:
Result
-----------------------------------------------
| name | varA | varB | varC | varD |
-----------------------------------------------
| elm1 | itemC | itemD | itemB | itemE |
| elm2 | itemD | itemE | itemB | itemA |
-----------------------------------------------