【发布时间】:2013-03-15 07:16:49
【问题描述】:
我遇到了一个问题,希望有人可以帮助我。事实上,我在一个设计不佳的数据库上工作,我无法控制更改其中的内容。我有一个“书籍”表,每本书可以有一个或多个作者。不幸的是,数据库不是完全相关的(请不要问我为什么,因为我从一开始就问同样的问题)。在“书籍”表中,有一个名为“Author_ID”和“Author_Name”的字段,因此当一本书由 2 或 3 个作者撰写时,他们的 ID 和他们的姓名将连接在由星号分隔的同一记录中。这是一个演示:
ID_BOOK | ID_AUTHOR | NAME AUTHOR | Adress | Country |
----------------------------------------------------------------------------------
001 |01 | AuthorU | AdrU | CtryU |
----------------------------------------------------------------------------------
002 |02*03*04 | AuthorX*AuthorY*AuthorZ | AdrX*NULL*AdrZ | NULL*NULL*CtryZ |
----------------------------------------------------------------------------------
我需要针对这个表创建一个视图,它会给我这个结果:
ID_BOOK | ID_AUTHOR | NAME AUTHOR | Adress | Country |
----------------------------------------------------------------------------------
001 |01 | AuthorU | AdrU | CtryU |
----------------------------------------------------------------------------------
002 |02 | AuthorX | AdrX | NULL |
----------------------------------------------------------------------------------
002 |03 | AuthorY | NULL | NULL |
----------------------------------------------------------------------------------
002 |04 | AuthorZ | AdrZ | CtryZ |
----------------------------------------------------------------------------------
我将继续尝试这样做,我希望有人可以帮助我至少提供一些提示。非常感谢各位。
在我应用你们提供的解决方案后,我遇到了这个问题。我正在努力解决它,希望你能帮助我。事实上,当 sql 查询运行时,当其中一些包含 NULL 值时,CLOB 字段是杂乱无章的。结果应该和上面一样,但我得到的结果如下:
ID_BOOK | ID_AUTHOR | NAME AUTHOR | Adress | Country |
----------------------------------------------------------------------------------
001 |01 | AuthorU | AdrU | CtryU |
----------------------------------------------------------------------------------
002 |02 | AuthorX | AdrX | CtryZ |
----------------------------------------------------------------------------------
002 |03 | AuthorY | AdrZ | NULL |
----------------------------------------------------------------------------------
002 |04 | AuthorZ | NULL | NULL |
----------------------------------------------------------------------------------
为什么将NULL值放在最后?谢谢。
【问题讨论】:
-
好问题坏标题
-
嘿 Praveen,这是我的第一个问题。我尝试了很多标题,但每次都说标题不好,所以我开始寻找可以批准的标题。你的说法是正确的。如果您有任何提示,请告诉我