4 таблицы вставки - MySQL - PullRequest
       25

4 таблицы вставки - MySQL

1 голос
/ 16 марта 2019

Relationship

Я хочу вставить, выбрав @DistName и @ProvName из district и province

INSERT INTO
    users
VALUES
(
    '@UserName',
    '@email',
    '@Pass',
    '@Status',
    '@phoneNo',
    '@VillName',
    '@DistName',
    '@ProvName'
);

Ответы [ 2 ]

1 голос
/ 16 марта 2019

Вы можете использовать оператор SELECT, чтобы получить поля из других таблиц, как показано ниже.

INSERT INTO
  users
VALUES
(
  '@UserName',
  '@email',
  '@Pass',
  '@Status',
  '@phoneNo',
  '@VillName',
  (SELECT '@DistName' FROM TABLE district WHERE distID=1),
  (SELECT '@ProvName' FROM TABLE province WHERE ProvID=1)
);

Надеюсь, это поможет.

0 голосов
/ 16 марта 2019

Примечание : просто посчитайте номер поля в таблице users и ваши попытки вставить число значений ...

ИМХО, странные отношения.Но как я понял => вам нужно получить VilllD для вставки в users из трех таблиц => village & district & province.Это должно выглядеть так:

INSERT INTO
 users
VALUES
(
 '@UserName',
 '@email',
 '@Pass',
 '@Status',
 '@phoneNo',
 (SELECT v.VilllD FROM village AS v 
                    INNER JOIN district AS d
                      ON v.DistID = d.DistID
                    INNER JOIN province AS p
                      ON p.ProvId = d.ProvId
                    WHERE v.VillName = @Villname AND
                          d.DistName = @DistName AND
                          p.ProvName = @ProvName )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...