gpt4 book ai didi

mysql - 如果列为空,则从另一个表获取数据

转载 作者:行者123 更新时间:2023-11-29 02:55:44 26 4
gpt4 key购买 nike

我有两个表:-

表A:-

CREATE TABLE tableA (
firstId INT(6),
secondId INT(6),
product VARCHAR(30) default NULL,
primary key (firstId, secondId)
)

表B:-

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');

现在我将有 firstIdsecondId,我必须获取产品详细信息但条件是如果组合(firstId 和 secondId)存在在然后 tableA 从中获取产品详细信息,如果它为 NULL,则从 TableB 中获取与 firstId 相关的产品详细信息。

例如:-

如果我有 firstID = 1 和 secondId = 10 那么 hello shold get 作为输出

如果我有 firstID = 1 和 secondId = 11 那么 original shold get as output

如果我有 firstID = 1 和 secondId = 12 那么 original shold get as output

如果可能的话,我需要在一个查询中使用它。感谢您的帮助。

最佳答案

您可以在 mysql 语句中编写控制流函数:

$first='1';$second='10';


SELECT IF( exists(select * FROM tableA WHERE
tableA.firstId = '$first' and tableA.secondId = '$second'
and tableA.product!= 'NULL'),tableA.product, tableB.product )
FROM tableA, tableB ;

关于mysql - 如果列为空,则从另一个表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com