php - MySQL 从特定列进行 SELECT 查询

标签 php mysql

我有以下 MySQL 表产品:

id, code, name, color
1, 'D555', 'Men T-shirt', ''
2, 'D556', 'Black Men T-shirt', 'D556'
3, 'D557', 'Silver Men T-shirt', 'D556'
4, 'D558', 'Men T-shirt', ''
5, 'D559', 'Black Men T-shirt', 'D559'
6, 'D560', 'White Men T-shirt', 'D559'

如果产品有其他颜色,则颜色列不为空,例如: 代码为“D556”的产品为黑色,也有银色。

我正在使用SELECT * FROM products,但现在我想选择主要产品(没有子颜色),即: D555、D556、D558、D559

  • 之后,我将选择产品下的子颜色(因为它与服装电子商店有关)。

这种表结构可以吗?

非常感谢您的关注!

最佳答案

SELECT * FROM products WHERE color = '' or code = color;

您可以考虑将表标准化为两个表,如下所示:

products(id, code, name)
alt_products(id, id_products, color)

关于php - MySQL 从特定列进行 SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812369/

相关文章:

php - 如果特定行数据尚未在同一日期插入,如何检查和插入数据

php - 谁能引导我找到正则表达式的 DEFINE 断言文档?

mysql - PHP中的Mysql语句什么情况下需要单引号变量?

php - MySQL 中的 IF 语句,使用 THEN 和 ELSE

php - 用不同的值更新多个 MySQL 行

php - 重新加载 PHP include 或 require

php - 在 wordpress 核心中加载 css 和 js 文件

MySQL慢查询日志——慢到什么程度才算慢?

mysql - 从具有公共(public)行元素的两个不同表中提取数据

mysql - 获取每个客户的第一个订单日期