【问题标题】:How to extract data from Column where the records are equal to 1?如何从记录等于1的列中提取数据?
【发布时间】:2016-02-17 23:49:39
【问题描述】:

我会尽力向您解释我的问题。我正在寻求建议,因为我陷入了僵局。 我有一个在线商店的数据库(它不卖任何东西,只是向人们展示所有者的产品)。

我有两个(它们更多,但在这种情况下,我们只考虑其中两个)表。在第一个:

products name | gender | id_product | etc..

    john        male     23

第二个:

id_product | man_56 | man_54 | man_52 | man_50 | etc...

 23         0         1       0        1

id_product 与第一个表相同。它用于链接两个表。还有1=available, 0=not available)。

截图:

现在我不知道如何只选择/打印记录为 1 而不是 0 的列。我需要指定表的每一列的名称吗?

【问题讨论】:

  • 这个问题你需要多解释。首先,显示多行数据以及您想要的结果会有所帮助
  • 好的。我已经截取了我的表格屏幕,向您展示了它的想法:i63.tinypic.com/15i59h4.png 结果应该是(它应该只在 column_name=1 的地方打印):对于 id_product 15 可用尺寸:女性:40、42 对于 id_product=12 可用尺寸:7、9 岁儿童
  • 您的评论好像被删了 - 请用详细信息编辑您的问题
  • 是的,对不起。我现在已经完成了
  • 正确的做法是规范您的数据库。但是,使用该数据结构,您最好只选择整行,然后在打印之前检查每个值是否 == 1

标签: php mysql


【解决方案1】:

你可以使用

SELECT * from tablename where columname = 1

tablename 是您的表格名称,即产品 columnname 是您要检查的字段的名称。

【讨论】:

  • 是的,但是当 'columname' 不止一个时?
【解决方案2】:
SELECT * FROM TableName WHERE 1 IN (ColumnOne,ColumnTwo,ColumnThree...)

欲了解更多信息,请查看link

【讨论】:

    【解决方案3】:

    我已经使用多个“if”解决了我的问题。谢谢大家:D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 2017-01-06
      • 2012-07-05
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多