У меня есть три таблицы,
Таблица 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"
при объединении двух столбцов двух таблиц, я получаю нулевые значения, я хочу перебрать его и присоединиться к таблицам