0
我在我的MySQL服务器数据库中的两个表有一个共同的列:在MySQL查询响应替换为空重复值
表1
+---------------------------------+
| columnA | columnB |
+---------------------------------+
| 123 | lorem |
| 456 | ipsum |
| 456 | dolor |
+---------------------------------+
表2
+---------------------------------+
| columnA | columnC |
+---------------------------------+
| 123 | sit |
| 123 | amet |
| 123 | consectetur |
| 456 | adipiscing |
+---------------------------------+
我想获得所有值columnB
和columnC
其中columnA
是123
。我使用的查询是:
SELECT Table1.columnB, Table2.columnC
FROM Table1
INNER JOIN Table2 ON Table1.columnA = Table2.columnA
WHERE Table1.columnA = '123';
这里的查询结果:
+---------------------------------+
| columnB | columnC |
+---------------------------------+
| lorem | sit |
| lorem | amet |
| lorem | consectetur |
+---------------------------------+
我得到所要求的结果,但我不这样想,这些重复的值作为columnB
例。有没有办法用NULL
或空白替换(最后两个)冗余值lorem
?例如:
+---------------------------------+
| columnB | columnC |
+---------------------------------+
| lorem | sit |
| | amet |
| | consectetur |
+---------------------------------+
他们不是多余的,他们表现出的关系。如果要以不同方式显示数据,请在前端(应用程序或报告工具)的表示层中执行此操作,而不是在后端执行。 – under
谢谢@under。是的,你是对的关系,并在前端做,但我只是想知道是否有任何完美/标准的方式在后端做到这一点。 – adi
“我想获得columnA和columnC的所有值,其中columnA是123”不明确。人们会期望你的意思是在一个或另一个中的行,或者在两个行中(123)。但从查询和示例结果来看,您似乎指的是columnB-columnC对,其中columnB在Table1中显示为123,而在Table2中显示为123列。你不能用语言快捷方式,它给出了含糊不清,错误或无意义的东西(委婉语:“不清楚”)。你也可以打电话给你不想要的结果。请努力做得更清楚。 – philipxy