PHP: PDO Запрос данных из разных таблиц - PullRequest
0 голосов
/ 19 сентября 2018

Я хотел бы попросить помощи, чтобы помочь мне решить мою проблему кодирования, я хотел бы получить информацию из двух таблиц в одной базе данных.

Структура БД:

Имя таблицы: _net

id
name
ip
comment

Я могу получить всю необходимую информацию из этой таблицы с помощью следующего кода:

$netsql = 'SELECT * FROM _net ORDER BY id';
$qnet = $conn->query($netsql);
$qnet->setFetchMode(PDO::FETCH_ASSOC);

Таблица: _net_port (другая информация, которая требуется для запроса)

id
netid
port
comment

Я хотел бы получить информацию из таблицы _net_port, где соответствующий идентификатор = netid (идентификатор в таблице _net будет таким же, как netid в таблице _net_port. Особенно для получения списка портов.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вам нужно JOIN

SELECT * FROM _net ORDER BY id
INNER JOIN _net_port ON _net_port.id = _net.id

Ваш вопрос касается MySQL, а не PHP-скрипта.

0 голосов
/ 19 сентября 2018

Вы можете присоединиться к таблице _net в совокупном запросе _net_port с помощью group_concat:

SELECT n.*, p.ports
FROM   _net n
JOIN   (SELECT   netid, GROUP_CONCAT(port)
        FROM     _net_ports
        GROUP BY netid) p ON n.id = p.netid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...