我需要使用连接从两个表中选择数据。这相当简单,在这里没有问题。当我加入的字段被用作两个单独的外键(我没有设计这个)时,就会出现问题。所以我加入的 ID 字段是正数或负数。
如果是正数,则与 table_2 表上的 ID_1 相关,如果为负数,则与 table_2 表上的 ID_2 相关。但是 ID_2 将是一个正数(即使它在外键中存储为负数)。显然没有强制执行这些限制 - 所以本质上不是真正的外键:/
我使用的 SQL 是这样的,适用于正数:
select t1.Stuff, t2.MoreStuff from table_1 t1
join table_2 t2 on t1.ID_1 = t2.ID_1
where ...
如何将其消极方面纳入联接。这甚至可能吗?理想情况下,我想根据需要更改表格,但显然这不是一个有效的选择。我很好,真的被困住了。
我唯一的另一个想法是单独的 sql 语句来处理这些奇怪的语句。这一切都是由 C# 中的 clr sql 运行的。在代码中添加一个单独的 SqlCommand 很可能会减慢速度,因此我更愿意将它全部保存在一个命令中。
欢迎您的意见,谢谢:)