gpt4 book ai didi

c# - 如何在此查询中嵌套 Select?

转载 作者:行者123 更新时间:2023-11-30 22:59:09 26 4
gpt4 key购买 nike

我有这个问题:

SELECT * FROM CableId WHERE
(@CblType IS NULL OR CblType LIKE @CblType)
AND (@CblStatus IS NULL OR CblStatus LIKE @CblStatus)
AND (@FromLoc IS NULL OR FromLoc LIKE @FromLoc)
AND (@ToLoc IS NULL OR ToLoc LIKE @ToLoc);

问题是,在数据库中,FromLocToLoc 存储为另一个表 (MajorEquipment) 的外键,并且从下拉列表中选择输入, 从 MajorEquipment 填充。

+-----------------------------------------+    +--------------------+
| CableNumber | FromLoc (FK) | ToLoc (FK) | | MEID (PK) | Equip# |
|-----------------------------------------| |--------------------|
| 101 | 1 | 2 | | 1 | CP1 |
+-----------------------------------------+ | 2 | CP2 |
+--------------------+

我想展示的是:

+-----------------------------------------+
| CableNumber | FromLoc (FK) | ToLoc (FK) |
|-----------------------------------------|
| 101 | CP1 | CP2 |
+-----------------------------------------+

我需要原始查询的结构保持不变,并在其中嵌入可能的选择查询,但我无法正确设置任何内容。我怎样才能做到这一点?

编辑:Here是所用查询的原始演示,适用于需要尝试弄清楚查询正在做什么的任何人。

最佳答案

这样试试

area是第二个表名

SELECT CableNumber,a.Equip,a1.Equip FROM CableId c 
inner join area a on c.FromLoc=a.MEID
inner join area a1 on c.ToLoc=a1.MEID WHERE
(@CblType IS NULL OR CblType LIKE @CblType)
AND (@CblStatus IS NULL OR CblStatus LIKE @CblStatus)
AND (@FromLoc IS NULL OR a.Equip LIKE @FromLoc)
AND (@ToLoc IS NULL OR a1.Equip LIKE @ToLoc);

关于c# - 如何在此查询中嵌套 Select?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817618/

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