php – 将多个mysql查询组合成一个结果
发布时间:2020-12-13 21:52:58 所属栏目:PHP教程 来源:网络整理
导读:我正在使用php从 mysql表获取结果.我想运行多个条件语句来返回唯一结果列表.假设我在街上有一张关于房屋的桌子,我的桌子看起来像这样: House Number | Attribute | Value-------------------------------23 | Colour | White23 | Stories | 224 | Stories |
我正在使用php从
mysql表获取结果.我想运行多个条件语句来返回唯一结果列表.假设我在街上有一张关于房屋的桌子,我的桌子看起来像这样:
House Number | Attribute | Value ------------------------------- 23 | Colour | White 23 | Stories | 2 24 | Stories | 1 25 | Colour | Blue 请注意房屋号码23出现两次我怎么说一个mysql查询返回所有白色的房子并且有两个故事?在这种情况下,它只会返回一个结果 – 23. 我听到你在说什么 – 为什么我不把列名作为’颜色’和’故事’.好吧,原因是因为在我的例子中,房子可以有两种不同的颜色:同一属性名称的两个不同的值.房子可以有两行,一个属性是颜色,值是白色,另一个属性也是颜色,但值是紫色.只要房子有一排颜色:白色和一排有故事:2它将在查询中返回正数并包含在结果中 现在,一旦解决方案将运行两个不同的查询:一个查询匹配白宫并返回一个数组,第二个查询匹配带有两个故事的房子并返回一个数组,然后我可以使用PHP来比较两个数组,看看哪些条目出现在两个数组中,将它们拉出并将它们放入最终数组中.但这涉及调用两个mysql查询.有没有办法在mysql端组合查询? 解决方法
你想要一个自我加入:
SELECT A.`House Number` AS House FROM Houses AS A INNER JOIN Houses AS B ON A.`House Number`=B.`House Number` WHERE A.Attribute='Colour' AND A.Value='White' AND B.Attribute='Stories' AND B.Value='2' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |