当前位置: 首页 > 面试题库 >

在MySQL中联接多个不相关的表

乜胜泫
2023-03-14
问题内容

我有一个网站,该网站将<select>选项存储在多个表中,并根据单个页面提取所有相关选项。此刻,我结束了这样的查询:SELECT foo FROM foo_tbl;SELECT bar FROM bar_tbl;etc。这确实不是一个坏问题,但是我必须逐个遍历每个选择结果。

我想将所有这些提取到单个网格中,然后执行类似的操作

if $row['foo'] != NULL { add to the foo options }
if $row['bar'] != NULL { add to the bar options }
etc

如果使用类似的查询SELECT DISTINCT f.foo, b.bar FROM foo_tbl AS f, bar_tbl AS b,则会结束所有可能的行组合(第一个foo第一栏,第二个foo第二栏,第二个foo第一栏,第二个foo第二栏等)。

有没有一种方法可以执行这样的选择,并且每个元素在一个列中只有一个实例,并且用空值填充该列中的其余行?


问题答案:

您可以执行以下操作:假设表foo的列为a,b,c,表栏的列为d,e,f

Select 'isFOO', a, b, c, null, null, null from foo
Union All
Select 'isBAR',null, null, null, d, e, f from bar


 类似资料:
  • 问题内容: 有什么办法可以使两个表之间没有直接关系但又在hibernate中有两个公共字段呢? 我有两个表,称为boiler_plates和profile,它们之间没有直接关系,但是有一个名为contract_id的公共字段。 我写了查询“来自bp.bt_contracts = p.contract_id上的Boiler_Plates bp内部连接配置文件p”,但它不断抛出错误。“意外令牌:在第1

  • 问题内容: 我有两个表的列相似-假设表A的列为LABEL_A,表B的列为LABEL_B。LABEL_A和LABEL_B的数据类型相同。 如何在单个查询中从两个表中选择LABEL?(因此,查询结果包含单个列LABEL,该列包含两个表的LABEL列中的数据)。 编辑:我可以在游标中使用这样的UNION查询吗? 感谢您的回答。 问题答案: 使用: 会更快,但是如果存在重复项,则不会删除重复项。如果要删除

  • 我想添加表示来自其他表的计数的列。 我有三张桌子。 消息 主题 STARS_GIVED 我想以: 主题回顾 所以基本上,我想附上3列唯一值的计数(每个主题中给出的星数,在主题中有消息的唯一用户,以及每个主题中唯一消息的数量)。 我希望最终能够对类别进行筛选(看看两列)。 此外,我希望最终按我加入的计数排序。例如,我将有一个按钮,按“星星的数目”按升序排序,或按“用户的数目”按降序排序,等等。 我试

  • 问题内容: 嗨,这是我的情况,我有那些桌子 所以我想总计费用和税款,然后按客户ID分组,这是我的查询 因此,如果我有1个客户费用,而我使用SUM函数时却有2个税额,那么它会计算两次费用,例如,如果要向我显示10 $,则向我显示20 $ 我知道如何通过子查询解决此问题,但是我想知道是否有任何选项可以获取没有子查询之类的正确值,例如我在上面可以使用的修改内容以解决该问题。 谢谢 ! 没有子查询的更新答

  • 问题内容: 我有以下查询: 所以我正在使用并抓住。所以现在,我要获取该image_id并将其从图像表中转换成。 如何将其添加到查询中? 问题答案: 您可以简单地添加另一个联接,如下所示: 但是请注意,由于它是一个,如果您的消息中没有图像,则将跳过整个行。如果可能的话,您可能需要执行一次操作,该操作将仅在存在一个仪表板消息的情况下返回所有仪表板消息和一个image_filename(否则,您将获得n

  • 问题内容: 我有两个表,一个带有列的表: 和带有列的表: 我正在尝试列出车辆的信息,其默认图像以及该车辆具有的图像总数。目前,我正在使用以下语句: 我最初使用的是: 但是根据数据库中是否有默认图像,图像计数将仅为1或0。我已经尝试使用和其他语句,但是仍然无法获得正确的结果。我是否需要使用两个语句,或者是否有其他方法可以使用或处理它? 问题答案: