草庐IT

php - 一品多品——PHP MySQL

我有一张表products(id,barcode,catid,name,description,...)我被要求让一些产品可以分配给多个类别。最明显的解决方案是将catid从INT更改为具有分隔值的VARCHAR,即1、2、5,其中1、2和5是各种类别。现在哪个SQL语句可以为我完成这项工作?我想到了find_in_set,但我认为它的作用恰恰相反。 最佳答案 最明显的解决方案是创建一个“交叉表”,您可以在其中进行多对多分配(因为一个类别中可以有多个产品,一个产品可以有多个类别)。该表将如下所示:product_id|categor

mysql - 减去/求和自己的表格

我有一张这样的table:idproduct_property_idproduct_idamounttype11145100241451203614513142314720541451516414521类型:0:出局1:在我想要什么:例如:product_id145与product_property_id4:(15+2)-12=5product_idproduct_property_idnew_amout14545是否可以使用SQL获得此结果,或者我必须立即使用php? 最佳答案 如果我没理解错的话,这只是一个使用条件聚合的查询:s

sql - MySQL查询查找订购了两种特定产品的客户

我在想出一个查询来查找同时购买了PROD1和PROD2的所有客户时遇到了问题。这是一个看起来像我想做的伪查询:(显然这是行不通的)SELECTCOUNT(DISTINCTuserid)FROMTRANSACTIONSWHEREproduct_id='prod1'ANDproduct_id='prod2'所以基本上我正在尝试计算在transactions中有交易的不同用户ID的数量。product_id'prod1的表'和'prod2'.每笔交易都存储在transactions中的一行中表。 最佳答案 我通过以下方式进行此类查询:SE

mysql - 如何使用 mysql 子查询减去库存和销售额?

尝试学习更多关于子查询的知识。我正在寻找一种方法来减去和比较两个表。库存销售我的数据记录如下:库存:mysql>selectstore_id,product_id,sum(quantity)asinventoryfrominventorieswherestore_id=1groupbyproduct_id;+----------+------------+-----------+|store_id|product_id|inventory|+----------+------------+-----------+|1|8|24||1|10|4||1|14|24|+----------+

mysql - 我有一个要优化的 SQL 查询。让我们来谈谈它

所以,这里有一个问题可能会让SQL专家跳来跳去,说我懒惰,但我被难住了。今天早上我们的在线商店崩溃并被烧毁,这是可疑的查询。我想了一整天,并没有想出任何天才的优化。我能得到一些帮助吗?有什么关键指标?重组这个的方法?我意识到这就像问墙的另一边是什么,然后给你一个指向另一个方向的望远镜,但我认为值得一试:SELECTDISTINCT(SELECTfilenameFROM(SELECTDISTINCTy.valueASlabel,x.valueASfilenameFROM`catalog_product_super_link`ASzINNERJOIN`catalog_product_ent

sql - 做一个计数 MySQL 查询?

我有下表:UID|ID|Type1|1|product1|2|product1|3|service1|4|product1|5|product2|6|service1|7|order2|8|invoice2|9|product我想结束:UID|product|service|invoice|order1|4|1|0|12|1|1|1|0SQL查询是什么样的?或者至少,最足够的? 最佳答案 如果你真的只需要这四种类型,那么你可以硬编码这些值如下:selectUID,count(casewhentype='product'then1el

mySQL:子查询到数组?

我正在处理一个稍微复杂(至少对我而言)的mySQL查询,其中包含一个子查询,老实说,它不会很好。SELECT`products`.`id`,`product`.`price`,(SELECT`value`FROM(`productValues`)WHERE`productValues`.`product`='product.id')asvaluesFROM(`products`)WHERE`product`.`active`=1当前结果如下所示:Array([0]=>Array([id]=>1[active]=>1[price]=>1000[values]=>))我想要的是值元素也成为

mysql - 在 MySQL 中,如何创建一个带多个参数的存储过程?

函数示例:调用getThings(amount,place,limit,marginError)概要:CALLgetThings(4,PA,3,1.2);目标示例:CREATEPROCEDUREgetThings(INamountX,placeVARCHAR(30),limINT,marginErrordouble)SELECTplace,limit,amountFROMAREA,PRODUCTWHEREAREA.place=PRODUCT.placeANDPRODUCT.AREA=placeORDERBYABS(AMOUNT-marginError)LIMITlim;END期望的目标

mysql,使用选择子查询插入

product_category表中有很多产品,category_id为5。我添加了一个新的category_id19。如何将类别5中的所有产品也添加到类别19?我正在尝试做这样的事情:insertintoproduct_categories(category_id,product_id)select19,(selectproduct_idfromproduct_categorieswherecategory_id=5)但我收到一个子查询返回超过1行错误。 最佳答案 试试这个:INSERTINTOproduct_categories

php - 多类别/产品关系的数据库模式

我想为具有类别/子类别管理功能的电子商务应用程序设计一个数据库。请建议一个数据库架构,我们可以在其中创建类别和子类别并将产品添加到这些类别。每个产品可以有多个类别,我们可以使用bool数据库查询来选择属于多个类别的产品谢谢 最佳答案 对于任何级别的类别和子类别,以及属于多个类别的产品,我将从:Categories:category_idparent_category_idforeignkey(Categories.category_id)...othercategoryinformation...primarykey(categor