gpt4 book ai didi

php - 选择字段别名条件和多重联接

转载 作者:行者123 更新时间:2023-11-30 01:29:13 24 4
gpt4 key购买 nike

我很难弄清楚如何编写查询来选择我需要的数据。

所以问题是:我有一个表和另外三个带有外键的表。我需要根据哪个字段不为空,选择第一个表中的所有字段以及其他三个表中的一个字段作为别名。在大多数情况下,三个表中的两个表的指定列将具有空值,但如果有两个非空值,我想选择第一个找到的值。

也许我解释得不好,但我会尝试用例子。假设我有这个主表

Table_1
TableOneID int(11),
SomeOtherData text

Table_2
TableTwoID int(11),
TableOneID int(11),
TableTwoValue varchar(250)

Table_3
TableThreeID int(11),
TableOneID int(11),
TableThreeValue varchar(250)

Table_4
TableFourID int(11),
TableOneID int(11),
TableFourValue varchar(250)

所以我想做一些类似的事情

SELECT *, (HERE TO SELECT FIRST NON NULL VALUE FROM Table_2(TableTwoValue), 
Table_3(TableThreeValue) or Table_4(TableFourValue)) AS ExtraField FROM Table_1
LEFT JOIN Table_2 USING(TableOneID) ..... LEFT JOIN Table_4 USING(TableOneID);

这可能发生吗? :)

最佳答案

最简单的方法是更改​​数据库结构:

Table_1
TableOneID int(11),
SomeOtherData text

Table_X
ID int(11),
TableOneID int(11),
TableTwoValue varchar(250),
number int(11)

在数字中输入 table 编号(1、2、3等)然后查询变得更加容易。

关于php - 选择字段别名条件和多重联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17660035/

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