我目前有以下SQL查询:
SELECT
con_Content,
cot_Name,
pag_Name
FROM
[Page]
inner join [Content] on con_PageID = pag_ID
inner join [ContentType] on cot_ID = con_TypeID
WHERE
pag_URL = 'tour'
返回多行,如下图所示:
http://i.stack.imgur.com/2GbHi.gif
我真的需要这个查询返回1行与其他列名为'LeftColumn','RightColumn','MainContent'和这些列的值为'con_content' .
我的SQL现在不是很好。
2条答案
按热度按时间xtupzzrd1#
正如@Donnie提到的,听起来像是要做透视,如果是针对SQL Server 2005或更高版本:
如果不是SQL Server 2005+:
如果透视表列表中的字段没有对应的
cot_Name
值,查询仍将执行并返回该字段的null
。例如,尝试以下操作:
因此,在您的示例中,您可以包含您感兴趣的每个值,并且只需检查
null
,以查看pag_Name
是否包含该cot_Name
的任何内容:qni6mghb2#
如果你说每个页面都有左、右和中间的内容,你可以通过在页面表中添加左、右和中间字段来简化它。否则,我个人会在应用程序中处理转换。