SQL查询将列值显示为表中的列名
Posted
技术标签:
【中文标题】SQL查询将列值显示为表中的列名【英文标题】:SQL query to display column values as column name in table 【发布时间】:2019-06-06 17:59:07 【问题描述】:我有一个来自“问候”表的字段名称“标题”。 UI 中的 Title 字段可能是 FirstName 或 LastName 或两者的组合。
问候表如下:
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td
border: 1px solid black;
border-collapse: collapse;
</style>
</head>
<body>
<h2>Collapsed Borders</h2>
<p>If you want the borders to collapse into one border, add the CSS border-collapse property.</p>
<table style="width:50%">
<tr>
<th>Title</th>
</tr>
<tr>
<td>FirstName</td>
</tr>
<tr>
<td>LastName</td>
</tr>
<tr>
<td>nickName</td>
</tr>
<tr>
<td>preferredName</td>
</tr>
</table>
</body>
</html>
我需要编写一个 SQL 查询来查找只有 Title FirstName、LastName 以及 FirstName 和 LastName 的,并以下表格式显示。 将列名称创建为 FirstName 和 lastName,如果显示则用“Yes”表示,如果不显示则用“No”表示。
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td
border: 1px solid black;
border-collapse: collapse;
</style>
</head>
<body>
<h2>Collapsed Borders</h2>
<p>If you want the borders to collapse into one border, add the CSS border-collapse property.</p>
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>Yes</td>
<td>No</td>
</tr>
<tr>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>Yes</td>
<td>Yes</td>
</tr>
</table>
</body>
</html>
我写了下面的查询并获得了“标题”的个别信息,但无法将列值作为表列名格式。您能帮我获取该表格格式的输出数据吗
Select distinct Title from Greeting WHERE Title in ('FirstName','LastName')
Select distinct Title from Greeting WHERE Title ='FirstName'
Select distinct Title from Greeting WHERE Title = 'LastName'
【问题讨论】:
您能否粘贴您的示例数据库数据以及您希望它看起来像什么 谢谢@JosephDoggie 我只是略读,但您是否在寻找文字字符串FirstName
和 LastName
?还是那些列值?
@barrycarter 这些只是列值而不是文字字符串
那么它们不属于引号。 (某些 SQL 服务器允许您使用反引号,但不能使用单引号)
【参考方案1】:
我尝试了“pivot”,这帮助我获得了该表格格式的输出数据
【讨论】:
以上是关于SQL查询将列值显示为表中的列名的主要内容,如果未能解决你的问题,请参考以下文章