我有一个问题,但我真的不知道怎么问!请多多包涵:
我们还有一个名为“site_international”的表,其中包含以下字段:’siteid'(网站ID,例如英国,德国,法国..(英文,德文,法文)和“已发布”(布尔字段,即网站是否活着?) @H_403_3@上述SELECT查询获取所有的运输代码,并且只有这些已发布站点的语言描述. @H_403_3@现在,我们也想知道哪些运输代码在某些网站上没有描述.如果发货代码是全新的,那么将为该代码返回1行(因为LEFT OUTER JOIN). ‘scd.siteid’和’scd.desc_frontend’将为NULL. @H_403_3@但是,如果存在英国(英文)网站的描述,但FR和DE的描述不存在,则上述查询将只返回一行,而不是三行.如何知道特定运输代码的DE和FR说明丢失? @H_403_3@这是我的选择: @H_403_3@1)我可以以某种方式在一个查询内完成这一切.一定有办法(以前从来没有使用过UNION,除了以前,我不知道这些是我应该使用的). @H_403_3@2)或者我可以简单地做另一个查询
SELECT siteid FROM site_international WHERE published =’t’ @H_403_3@以上将给我所有出版的网站.然后,使用PHP(我用来代码我的网站),对于上述较大查询的每个结果,我会检查并查看是否缺少任何描述.例如.以上的siteid查询将返回3个ID(UK,DE,FR).那么如果一个特定的运输代码只返回一个英国行,我会知道DE和FR丢失,我可以把它标记给我的客户端. @H_403_3@请指示是否存在更好的选项“1”? @H_403_3@非常感谢!
SELECT sc.*,scd.siteid,scd.desc_frontend FROM shipping_code sc LEFT OUTER JOIN shipping_code_description scd ON scd.shippingid=sc.shippingid AND scd.siteid IN (SELECT siteid FROM site_international WHERE published='t')@H_403_3@为了解释上述情况,我们在一个名为“shipping_code”的表格中有发货(交货)代码,而且因为我们有一个多语言网站,所以我们在“shipping_code_description”中有另一个用于这些代码的语言描述表.
我们还有一个名为“site_international”的表,其中包含以下字段:’siteid'(网站ID,例如英国,德国,法国..(英文,德文,法文)和“已发布”(布尔字段,即网站是否活着?) @H_403_3@上述SELECT查询获取所有的运输代码,并且只有这些已发布站点的语言描述. @H_403_3@现在,我们也想知道哪些运输代码在某些网站上没有描述.如果发货代码是全新的,那么将为该代码返回1行(因为LEFT OUTER JOIN). ‘scd.siteid’和’scd.desc_frontend’将为NULL. @H_403_3@但是,如果存在英国(英文)网站的描述,但FR和DE的描述不存在,则上述查询将只返回一行,而不是三行.如何知道特定运输代码的DE和FR说明丢失? @H_403_3@这是我的选择: @H_403_3@1)我可以以某种方式在一个查询内完成这一切.一定有办法(以前从来没有使用过UNION,除了以前,我不知道这些是我应该使用的). @H_403_3@2)或者我可以简单地做另一个查询
SELECT siteid FROM site_international WHERE published =’t’ @H_403_3@以上将给我所有出版的网站.然后,使用PHP(我用来代码我的网站),对于上述较大查询的每个结果,我会检查并查看是否缺少任何描述.例如.以上的siteid查询将返回3个ID(UK,DE,FR).那么如果一个特定的运输代码只返回一个英国行,我会知道DE和FR丢失,我可以把它标记给我的客户端. @H_403_3@请指示是否存在更好的选项“1”? @H_403_3@非常感谢!