SQL如何找出数据所在的表


SQL how to find out which table the data is located

我有三个表PubBooPer

Boo.num是对Pub.serial 的引用

Per.num是对Pub.serial的引用(意味着Pub具有关于它们两者的信息)

我想知道Pub上的一行属于PerBoo

我该怎么做

(我只需要一个额外的字段有0或其他数字来确定数据属于其中的哪一个)

可以认为Pub是Boo和Per的父表,而这些表是Pub的类型。

我真的不确定这是否是你想要的,但值得一试:

select Pub.serial,
    (select count(*) from Boo where Boo.num = Pub.serial) as Boo_Count,
    (select count(*) from Per where Per.num = Pub.serial) as Per_Count
From Pub
Order by Pub.serial

您想要

SELECT Boo.num, per.num
FROM Pub
LEFT JOIN Boo ON Pub.serial=Boo.num
LEFT JOIN Per ON Pub.serial=Per.num

看看他们中的哪一个有数据。