这是数据库表
**
id products free_pro_id
1 laptop 2
2 pen-drive -
3 hard-disk 2,4
4 mouse 3
我只是想知道如何为下面的输出创建查询
product free_id_pro**
laptop pen-drive
hard-disk pen-drive,mouse
mouse hard-disk
答案 0 :(得分:0)
我了解您的问题。但是您的表实现不正确。 首先,您必须了解数据库规范化。
请参阅此链接 https://www.studytonight.com/dbms/database-normalization.php
您可以有一个产品表和另一个促销表。
餐桌产品
在此表中,您可以拥有prodId和prodName
prodId ------- prodName
1 --------------笔记本电脑
2 --------------笔驱动器
3 -------------- hard_disk
4 --------------鼠标
餐桌促销
在此表中,您可以存储用户购买产品时免费赠送的产品。
promoId--prodId ---- freeProdId
1 ------------- 1 ------------ 2
2 ------------- 3 ------------ 2
3 ------------- 3 ------------ 4
4 ------------- 4 ------------ 3
如果要获得笔记本电脑的免费产品,可以执行以下查询
SELECT freeProdId from Promotion where prodId = 1;
我给出了一个非常简单的查询,以使您基本了解。您可以修改查询,进行查询并做很多事情。 (例如,获取prodName而不是ID)
答案 1 :(得分:0)
这是数据库表,将这种类型的产品表安排在数据库中
id -----产品----- free_pro_id
1 -------笔记本电脑--------- 2
2 -------笔式驱动器---------
3 ------硬盘------- 2
3 ------硬盘------- 4
4 -------鼠标---------- 3
这是获取上表输出的查询
从foo.id = product.free_pro_id上的product
foo内部联接积中选择foo.products,product.products