Показать все данные из таблицы1 с соответствующими записями с таблицей2 и показать результат в виде таблицы html - PullRequest
0 голосов
/ 03 мая 2018

enter image description here

Как показано на рисунке, у меня есть 20 записей в Table1 и 7 в Table2, если я хочу показать результаты в виде таблицы результатов по идентификатору пользователя.

и показать результат в виде из базы данных. мой код просмотра

<div class="tblContainer">
<table class="table table-striped table-bordered  " id="TblRole" cellspacing="0" align="center">
    <thead>
        <tr>
            <th>Roles</th>
            <th>CreateAccess</th>
            <th>ViewAccess</th>
            <th>EditAccess</th>
            <th>ReportAccess</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>

и я получил данные в скрипте jsUsers

function SearchUser() {
    var EmpCode = $('#EmpCode').val()
    alert("Call");
    $.ajax({
        type: "POST",
        url: "/Roles/GetUserRoleInformation",
        data: '{ EmpCode: "' + EmpCode + '" }',
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        success: function (data) {
            if (data.jsUsers != null) {

                alert("User Alredy Exist in FastTrack.");

                var rows;
                $.each(data.jsUsers, function (i, item) {
                    rows += "<tr>"
                              + "<td>" + item.RoleName + "</td>"
                              + "<td>" + item.CreateAccess + "</td>"
                              + "<td>" + item.ViewAccess + "</td>"
                              + "<td>" + item.EditAccess + "</td>"
                              + "<td>" + item.ReportAccess + "</td>"
                         + "</tr>";
                });
                $('#TblRole').append(rows);


            }
            else {
                alert("User Not Created yet.");

            }
        },

    });
}

Пожалуйста, помогите решить эту проблему.

1 Ответ

0 голосов
/ 03 мая 2018

Попробуйте это:

SELECT B.`UserID`, A.`RoleID`, A.`RoleName`, B.`Create`, B.`View`, B.`Edit`
FROM `Table1` A
LEFT JOIN `Table2` B ON A.`RoleID` = B.`RoleID` AND B.`UserID` = 1

Обновленный ответ:

Просто используйте ваше входное значение как UserID:

SELECT 1 AS `UserID`, A.`RoleID`, A.`RoleName`, B.`Create`, B.`View`, B.`Edit`
FROM `Table1` A
LEFT JOIN `Table2` B ON A.`RoleID` = B.`RoleID` AND B.`UserID` = 1

В противном случае, если вы передадите UserId как parameter.

Затем используйте параметр:

SELECT @ParamValue AS `UserID`, A.`RoleID`, A.`RoleName`, B.`Create`, B.`View`, B.`Edit`
FROM `Table1` A
LEFT JOIN `Table2` B ON A.`RoleID` = B.`RoleID` AND B.`UserID` = @ParamValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...