如何为下表创建查询

时间:2019-04-27 07:10:53

标签: mysql sql database

这是数据库表

**

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

2 个答案:

答案 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