我有很多包含相同列的表我想搜索一个值并返回所有行例如
Tab1
col1 col2 col3
val1 val2 val3
val7 val8 val9
TAB2
col1 col2 col3
val4 val2 val5
如果我在我的java代码中搜索val2两行
,我想要返回的sql语法Tab1
col1 col2 col3
val1 val2 val3
和
Tab2
col1 col2 col3
val4 val2 val5
谢谢
答案 0 :(得分:0)
您可以尝试在两个查询之间执行UNION
,每个查询都会选择所需的记录:
SELECT col1, col2, col3, 'Tab1' AS table_name
FROM Tab1
WHERE col2 = 'val2'
UNION ALL
SELECT col1, col2, col3, 'Tab2'
FROM Tab2
WHERE col2 = 'val2'
如果您想在任何列中搜索val2
,那么您可以使用此功能:
SELECT col1, col2, col3, 'Tab1' AS table_name
FROM Tab1
WHERE col1 = 'val2' OR col2 = 'val2' OR col3 = 'val2'
UNION ALL
SELECT col1, col2, col3, 'Tab2'
FROM Tab2
WHERE col1 = 'val2' OR col2 = 'val2' OR col3 = 'val2'
答案 1 :(得分:0)
你也可以尝试使用sp_MSforeachtable和临时表。
<div class="naviMenu">
<ul>
<li><div id="homePage">Home</div></li>
<li><a href="about.html">About</a></li>
<li>Text</li>
<li><a href="photo.html">Photo</li>
<li><a href="special.html">Special Project</li>
<li><a href="contact.html">Contact</li>
</ul>