У меня есть две таблицы: -получить данные из другой таблицы, если столбец является нулевым
TABLEA: -
CREATE TABLE tableA (
firstId INT(6),
secondId INT(6),
product VARCHAR(30) default NULL,
primary key (firstId, secondId)
)
TableB: -
CREATE TABLE tableB (
firstId INT(6),
product VARCHAR(30) default NULL,
primary key (firstId)
)
INSERT INTO `tableA` (
`firstId` ,
`secondId` ,
`product`
) VALUES ('1', '10', 'hello'), ('1', '11', NULL);
INSERT INTO `tableB` (`firstId`, `product`) VALUES ('1', 'original');
Теперь я буду иметь firstId
и secondId
, и я должен получить информацию о продукте but condition is
, если комбинация (firstId и secondId) находится в таблице , а затем получите информацию о продукте из нее, и если она равна NULL, тогда ge t из таблицыB в отношении firstId
.
Для например: -
Если у меня есть firstID
= 1 и secondId
= 10, то hello
shold получают в качестве выходного сигнала
Если у меня есть firstID
= 1 и secondId
= 11 затем original
shold получить как выход
Если у меня есть firstID
= 1 и secondId
= 12, то original
shold получить как выход
Мне нужно это в одном запросе, если это возможно. Любая помощь приветствуется.
Это * может * быть возможно сделать это в одном запросе с достаточно условными, но я не буду пытаться. Я бы предположил, что правильное решение здесь - совсем другая схема. Некоторые моменты, которые следует учитывать: - 'firstID' и' secondID' - не очень описательные имена (то же самое относится к 'tableA' &' tableB') - это похоже на 'tableB', это действительно основная таблица, а' tableA' списки субпродуктов; ваши запросы будут проще, если ваша схема лучше отражает отношения. – nthall