2016-02-25 82 views
2

我有每个表读取的值“URL”(或别名,“分类单元”)的多表查询。它还为“MySiteID”和“MySection”创建值。这就是它的样子。多表查询不匹配字段

SELECT URL, 'GW' AS MySiteID, 'Topics' AS MySection FROM $DBWorld.gw_topics 
UNION ALL 
SELECT Taxon AS URL, 'GZ' AS MySiteID, 'Life' AS MySection FROM $DBLife.gz_life_kingclass 

最后一行是这样的:

SELECT TopicURL AS URL, 'GS' AS MySiteID, 'Topics' AS MySection FROM $DBSymbols.gs_top_ref 
) AS Combined 
WHERE Combined.URL LIKE :MyURL 

我想修改的最后一行所以说WHERE Combined.URL LIKE:MyURL 和G1 = 1

在换句话说,网页不会显示出来,除非值“URL”相匹配的网页的URL和外地G1拥有1

值的问题是,男人我的桌子的y没有场地G1。我想显示这些特定表格中的所有内容。

是否有修改我的查询,以便1)从一个字段中指定G1表中的行不显示,除非G1的值是1的方式,和2)从没有一个字段的表行命名为G1还显示?

回答

3
在你的工会

  1. 在具有G1列的表格,将其添加到SELECT语句
  2. 在不表,只需添加1 as G1

现在你全部都有一个G1列,就像你想要的那样 - 在表格中它来自表格,你会从表格中获得值。在你没有的桌子上 - 它在所有的行上都是1,所以它总是像你想要的那样被选中。

之后,您可以添加到您的外部声明AND G1 = 1