如何根据第一列填充列

发布于 2024-09-12 03:39:48 字数 837 浏览 6 评论 0原文

我正在制作一个 mySQL 表,其中列出了大约 70 种产品以及它们是否兼容的信息。为了简化问题,我假设只有四种产品。

Product1    Product2    Compatible?
A           A           Yes
A           B           No
A           C           Maybe
A           D           Yes
B           A           Yes
B           B           Yes
B           C           Yes
B           D           No
C           A           Yes
C           B           Maybe
C           C           Yes
C           D           Yes
D           A           Yes
D           B           No
D           C           Yes
D           D           Yes

如果我已经有一个类似的表格(每个产品显然都与其自身兼容),

Product1    Product2    Compatible?
A           A           Yes
B           B           Yes
C           C           Yes
D           D           Yes

有没有办法可以快速填写前两列,以便它们遵循正确的模式? (所以我不必手动完成)

I am making a mySQL table which lists ~70 products and information on whether they are compatible or not. For the sake of simplifying the question, I will pretend there were only four products.

Product1    Product2    Compatible?
A           A           Yes
A           B           No
A           C           Maybe
A           D           Yes
B           A           Yes
B           B           Yes
B           C           Yes
B           D           No
C           A           Yes
C           B           Maybe
C           C           Yes
C           D           Yes
D           A           Yes
D           B           No
D           C           Yes
D           D           Yes

If I already have a table like (every product is obviously compatible with itself)

Product1    Product2    Compatible?
A           A           Yes
B           B           Yes
C           C           Yes
D           D           Yes

Is there a way I can quickly fill out the first two columns so they follow the correct pattern? (so I dont have to be doing it manually)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

对你再特殊 2024-09-19 03:39:48

实现此目的的一种方法是使用嵌套循环:如果您知道您有多少个产品,我们将其称为 n 个产品。

您的表中将总共有 2^n 行。此外,产品 1 的每个库存项目都会有 n 次。 (在您的示例中,有 4 个项目,因此 2^4 = 16 行,每个项目在 Product1 列中出现 n=4 次。

因此可以实现嵌套循环来执行插入...

$inventory = array(A, B, C, D); 
for(i=0;i<2^n;i++){
   for(j=0; j<n; j++){
       //insert Column1=$inventory[i], Column2=$inventory[j];
   }
}

One way to do this would be to use nested loops: If you know how many products you have, lets call it n products.

2^n total rows will be in your table. Additionally, product 1 will have each inventory item n times. (In your example 4 items, so 2^4 = 16 total rows and each item occurs in product1 column n=4 times.

Thus a nested loop can be achieved to do the insert...

$inventory = array(A, B, C, D); 
for(i=0;i<2^n;i++){
   for(j=0; j<n; j++){
       //insert Column1=$inventory[i], Column2=$inventory[j];
   }
}
节枝 2024-09-19 03:39:48

插入后触发器

当使用 phpMyadmin 插入时,将该列留空。让触发器填充最后一列。

Insert-After triggers!

And when inserting with phpMyadmin leave the column blank. let the trigger fill last column.

抚笙 2024-09-19 03:39:48
insert into compatibleProducts
select distinct p1.ProductID, p2.ProductID, 'Maybe'
from productTable p1
join productTable p2 on p1.ProductID <> p2.ProductID

根据您的第二个列表,我假设您已经让它们与自身兼容。

insert into compatibleProducts
select distinct p1.ProductID, p2.ProductID, 'Maybe'
from productTable p1
join productTable p2 on p1.ProductID <> p2.ProductID

I assumed that you already have them compatible with themselves, based on your second list.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文