基于一个到另一个表的一行创建一个表

时间:2017-08-09 15:47:55

标签: sql

我为每个作者创建了不同的表,因为每个作者表都有不同的列名。

表作者

 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>

2 个答案:

答案 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
相关问题