php–Sql从另一个查询中选择多个值

php–Sql从另一个查询中选择多个值,第1张

概述我在php-mysql中有三个表产品,product_fact,其实架构是这样的制品 id , name (1000 records) 例如-id | name -------+-------- 1125 | key chain 1135 | bikes 1145 | cars id =具有不同的产品ID号,每个产品都有唯一的ID,

我在PHP-mysql中有三个表
产品,product_fact,其实
架构是这样的

制品

 ID,name (1000 records)

例如-

ID     |    name-------+--------1125   | key chain1135   | bikes1145   | cars

ID =具有不同的产品ID号,每个产品都有唯一的ID,

name =产品名称

product_fact

product_ID,fact_ID

product_ID =这与products表中的ID相同

fact_ID =这是事实ID每个产品都有一些事实,很多产品都有不止一个事实.

例如-

product_ID  |  fact_ID------------+----------1125        |      51125        |      71125        |      61135        |      81145        |      91145        |      2

事实

ID,name

ID = this is fact_ID与表product_fact中的相同

name =这是事实的名称.

例如-

ID      |    name--------+--------- 2      |   black 8      |   free 5      |   sold 6      |   coming soon 9      |   new

现在我想选择与产品相关的特定事实名称,但是当我执行此查询时 – >

SELECT nameFROM factWhere ID = (SELECT fact_IDFROM product_factWhere product_ID='1125');

它说Subquery返回超过1行

但是,当我运行此查询时 – >

SELECT nameFROM factWhere ID = (SELECT fact_IDFROM product_factWhere product_ID='1135');

它给了我正确的输出:免费

我现在应该怎么做它应该显示其他产品的事实名称任何帮助,
还有什么我应该包括在我的查询..任何帮助最佳答案@H_502_90@使用子查询更安全,使用IN而不是=

SELECT name FROM   fact Where ID IN (SELECT fact_ID              FROM   product_fact              WHERE  product_ID='1125');

或使用JOIN

SELECT  disTINCT a.nameFROM    fact a        INNER JOIN product_fact b            ON a.ID = b.fact_IDWHERE   b.product_ID = '1125'
总结

以上是内存溢出为你收集整理的php – Sql从另一个查询中选择多个值全部内容,希望文章能够帮你解决php – Sql从另一个查询中选择多个值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1166878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存