MYSQL LEFT JOIN Возвращаемое значение Null - PullRequest
0 голосов
/ 11 июня 2019

У меня есть три таблицы,

Таблица 1 и таблица 2

Необходимо сравнить: component_name с product и component_version с версией, если эти значения совпадают, затем выбрать соответствующий cvid из table2

Таблица 2 и таблица 3

Теперь по отношению к таблице 2 - значение cvid равно таблице 3 - Значение cvid (значения in-sence должны быть равны) точное совпадение строки

я пробовал с таблицами

Таблица 1: upload_bom

CREATE TABLE IF NOT EXISTS `upload_bom` (
  `component_name` varchar(100) NOT NULL,
  `component_version` varchar(20) NOT NULL
) 

Таблица 2: cpe_cse

CREATE TABLE IF NOT EXISTS `cpe_cse` (
  `id` varchar(20) NOT NULL,
  `cpe` varchar(20) NOT NULL,
  `argument` varchar(20) NOT NULL,
  `vendor` varchar(100) NOT NULL,
  `product` varchar(100) NOT NULL,
  `version` varchar(20) NOT NULL,
  `subversion` varchar(20) NOT NULL,
  `platform` varchar(100) NOT NULL,
  `cvid` varchar(20) NOT NULL
)

Таблица 3: cses

CREATE TABLE IF NOT EXISTS `cses` (
  `cvid` varchar(20) NOT NULL,
  `cvss` varchar(20) NOT NULL,
  `description` varchar(5000) NOT NULL
)

Следовательно, я попробовал код,

, но когда я пытаюсь присоединиться к cpe_csv.cvid = cses.cvid, я получаю нулевые значения, но тот же запрос работает в sqlite, а не в MySQL

нижезапрос, который я пытался

SELECT DISTINCT upload_bom.component_name, upload_bom.component_version, cpe_cse.cvid, cses.cvid, cses.description
FROM upload_bom
LEFT JOIN cpe_cse on upload_bom.component_name = cpe_cse.product AND upload_bom.component_version = cpe_cse.version
LEFT JOIN cses on cpe_cse.cvid = cses.cvid

мне нужно отобразить что-то вроде

Select upload.bom_Component_name, upload_bom.component_version, cpe_cse.cvid, cses.cvid, cses.description
       component_name , component_version , cpe_cse.cvid, cses.cvid, cses.description
       "freebsd","1.1","cv1999-0001","cv1999-0001", "this is an software"

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

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