簡體   English   中英

存儲過程的SQL查詢

[英]Sql query for stored procedure

我有五個表“ArtBook,Eng,comm,Law,mgt”,每個表都有相同的列,我想通過它的id搜索特定書籍的所有信息,例如 -

select * from ArtBook,Eng,Comm,Law,mgt where @BookId=ArtBooks.BookId
or @BookId=CommBooks.BookId
or @BookId=Eng.BookId
or @BookId=Law.BookId
or @BookId=mgt.BookId

如果所有表都存儲了不同類別的書籍,則將它們組合回一個表格並添加“類別”列。 由於您所演示的原因,將這樣的分類分類到單獨的表中並不是一個好主意。

select * 
from ArtBook
where BookId = @BookId
union all
select * 
from Eng
where BookId = @BookId
union all
select * 
from Comm
where BookId = @BookId
union all
select * 
from Law
where BookId = @BookId
union all
select * 
from Mgt
where BookId = @BookId

可以使用UNION或UNION ALL運算符。

(SELECT * FROM ArtBook)
UNION ALL
(SELECT * FROM Eng)
...
WHERE @BookId=ArtBooks.BookId or
       @BookId=CommBooks.BookId or 
       @BookId=Eng.BookId or 
       @BookId=Law.BookId or 
       @BookId=mgt.BookId

等等。 雖然您可能會考慮重組數據的存儲方式,以使這種事情變得更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM