sql 将表列转换为行
有时候觉得很流弊,很吊的样子,想想真的可笑,也可悲吧。今天去面试的时候看这题目都很简单,然后就刷刷的写了,行云流水。给了面试看是之后,他笑了一下,问了一句你的最后一题是这样做的?我还信誓旦旦的还跟他说这样是是最快的查询。然后他就给了题目让我再看一下题目,卧槽,不看不知道,一看吓一跳,我知道我看错了 ,然后我跟他说看错了 ,这样的话就两个虚拟表和一个左连接就可以了。然后他就没有问什么问题了 ,就问了一些不痛不养的问题。然后就没有然后了 。。。。。

将这样的表用sql写成这样的表

分析一下其中的结构是分别有两张虚拟表连接而成。这两张表分别为
和
sql 语句分别为:
SELECT name ,curriculum,fraction from t_achievement where curriculum='语文'
SELECT name ,curriculum,fraction from t_achievement where curriculum='英文'
这两张表通过 left jion
SELECT t.name,t.chinese,tt.english from (SELECT name as `name` , fraction as chinese from t_achievement where curriculum='语文') t LEFT JOIN
(SELECT name as `name`,fraction as english from t_achievement where curriculum='英文')tt on tt.name=t.name
结果如下

总结: 细节决定着成败
posted on 2017-09-19 14:46 herohacker 阅读(3891) 评论(0) 收藏 举报
浙公网安备 33010602011771号