我为每个作者创建了不同的表,因为每个作者表都有不同的列名。
表作者
Author_ID BookName
1 Book1
1 Book2
1 Book3
1 Book4
1 Book5
表作者书籍
FirstName LastName BookName
Rock Smith Book1
Rock Smith Book2
Rock Smith Book3
Rock Smith Book4
Rock Smith Book4
我想要这样的结果 结果表
Author_ID Author_Table
1 Rock_Smith
2 Edward_Thomas
表New_Authors
FirstName LastName BookName
Rock Smith Book1
Rock Smith Book2
Rock Smith Book3
Rock Smith Book4
Rock Smith Book4
Is it possible to get all the Rock_Smith table info on querying New_Authors table?
Talbe Rock_Smith
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:include page="/RetreiveAlumno" />
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Consulta de alumnos</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.15/css/jquery.dataTables.css">
<link rel="stylesheet" type="text/css" href="./css/prueba.css">
</head>
<body>
<%@ include file="/WEB-INF/jspf/header.jspf" %>
<div class="container">
<div class="jumbotron">
<h1>Consulta de alumnos</h1>
<p></p>
<form name="alumno" id="alumno" method="GET" action="RetreiveAlumno">
<input type="submit" value="refrescar" />
</form>
</div>
<div class="table-responsive">
<div class="col-md-10">
<table class="table table-condensed display" id="TablaAlumno">
<thead>
<tr>
<td><b>Nombre</b></td>
<td><b>Apellido paterno</b></td>
<td><b>Apellido materno</b></td>
<td><b>Carrera</b></td>
<td><b>Genero</b></td>
</tr>
</thead>
<%@ include file="/WEB-INF/jspf/tabla.jspf" %>
</table>
</div>
<div class="col-md-2">
<table class="table table-condensed" id="TablaAlumno">
<tr><td><b>Opciones</b></td></tr>
<tr>
<td>
<button type="button" class="btn btn-primary btn-md btn-lang" data-toggle="modal" data-target="#Editar">
<span class="glyphicon glyphicon-pencil"></span> Editar
</button>
</td>
</tr>
<tr>
<td>
<button type="button" class="btn btn-danger btn-md btn-lang" data-toggle="modal" data-target="#Eliminar">
<span class="glyphicon glyphicon-trash"></span> Eliminar
</button>
</td>
</tr>
</table>
</div>
</div>
</div>
<%@ include file="/WEB-INF/jspf/ModalMod.jspf" %>
<%@ include file="/WEB-INF/jspf/ModalEli.jspf" %>
<div class="loader">
</div>
<script type="text/javascript" src="./js/jquery-3.2.1.js"></script>
<script>window.jQuery || document.write('<script src="./js/jquery-3.2.1.min.js"><\/script>');</script>
<script src="./js/bootstrap.min.js"></script>
<script src="./js/bootbox.min.js"></script>
<script src="./js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="./js/consultascript.js"></script>
</body>
</html>
答案 0 :(得分:0)
这是LEFT JOIN实现的简单的一对多关系:
SELECT a.LastName, a.FirstName, b.BookName
FROM Authors a LEFT JOIN AuthorBooks b ON b.Author_ID = a.Author_ID
ORDER BY LastName, FirstName, BookName
答案 1 :(得分:0)
要从这两个表中返回数据,您可以运行此查询:
SELECT a.FirstName, A.LastName, b.BookName
FROM Author A inner join AuthorBooks B on A.Author_ID = B.Author_ID
如果您想根据查询创建第3个表:
步骤1)创建表格。
步骤2)运行您的查询:
SELECT a.FirstName, A.LastName, b.BookName
INTO [NewTable]
FROM Author A inner join AuthorBooks B on A.Author_ID = B.Author_ID