SQL - сохранить таблицу соединений как ключ: объект - PullRequest
0 голосов
/ 31 августа 2018

У меня 2 вопроса:

  1. Возможно ли не получить дубликаты идентификаторов при получении таблицы соединений?

  2. Можно ли поставить все из таблицы соединений под одним ключом? Если да, мы можем сохранить дубликат идентификатора, как если бы он находился под другим объектом.

Я запускаю этот SQL с моего экспресс-сервера

var query = `BEGIN TRAN
    UPDATE ${accTable} SET [token]='${hash}' WHERE [accountID]=${id};

    SELECT a.accountID AS accID, a.*, ai.*
    FROM ${accTable} AS a
    INNER JOIN ${accInfoTable} as ai
        ON a.accountID = ai.accountID
    WHERE a.accountID=${id}
    COMMIT`; 

То, что я получаю, - это json, в котором есть все вместе

{
  "accID": 1,
// 1. is it possible to only get 1 of the accountID's?
  "accountID": [
    1,
    1
  ],
  "username": "john",
  "password": "hash",
  "hasTPD": false,
  "isConfigured": false,
  "token": "jwtToken",
// 2. everything underneath should be under one key
  "accInfoID": 3,
  "firstName": "John",
  "surname": "Doe",
  "email": "mail@gmail.com",
  "phone": 0400111222,
  "securityLevel": 99,
  "securityID": 1,
  "roleID": 3,
  "managerID": 1,
  "profilePicID": 1
}

Вот чего я бы хотел достичь:

{
  "accID": 1,
  "accountID": 1         // 1. no duplicate keys
  "username": "john",
  "password": "hash",
  "hasTPD": false,
  "isConfigured": false,
  "token": "jwtToken",
  "accountInfo": {       // 2. everything from accountInfoTable is under 1 item
      "accInfoID": 3,
      "firstName": "John",
      "surname": "Doe",
      "email": "mail@gmail.com",
      "phone": 0400111222,
      "securityLevel": 99,
      "securityID": 1,
      "roleID": 3,
      "managerID": 1,
      "profilePicID": 1,
      "accountID": 1     // 2. the duplicate comes in here (as it was retrieved from here in the first place)

  }
}

Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...