【发布时间】:2021-04-23 21:31:22
【问题描述】:
我要做的是通过从不同的表进行一些内部连接来获取 GetAPersonByID。
表人
| IDPerson | Name | LastName | fk_ID_Skin | |
|---|---|---|---|---|
| 1 | Example | Explanation | help@please.com | 1 |
| 2 | Example2 | Explanation | ineed@somebody.com | 2 |
表皮
| IDSkin | Name |
|---|---|
| 1 | Normal |
| 2 | Weird |
餐桌产品
| IDProduct | Name | fk_skin_type | Photo |
|---|---|---|---|
| 1 | Oil | 1 | PhotoOil |
| 2 | Water | 2 | PhotoWater |
| 3 | Cream | 2 | PhotoCream |
我需要知道客户应该根据他们的皮肤类型使用哪些产品 但是......当我尝试做 InnerJoins 时(我为数据库中的西班牙语文本道歉):
SELECT
people.IDPerson AS 'Id_person',
people.name AS 'Name',
people.lastname AS 'Lastname',
people.email AS 'E-mail',
skins.name AS 'Skin',
products.name AS 'Product',
products.photo AS 'Photo'
FROM
((people
INNER JOIN skins
ON people.fk_ID_skin = skins.IDSkin)
INNER JOIN products
ON people.fk_ID_skin = products.fk_skin_type)
WHERE IDPerson = c_id;
如何在不重复数据的情况下显示“X Person”? 我正在使用 MySQL 工作台
【问题讨论】:
-
发布您的预期结果,MySQL Workbench 是一个工具.. 功能上的差异取决于 MySQL 版本;因此,要获得正确的版本,您可以在 MySQL Workbench 上运行
SELECT @@version,然后运行 post the result into your question -
如何在不重复数据的情况下显示“X Person”? 在屏幕截图中,两个不同的
Producto匹配相同的“X Person”。想象一下,您只保存了一行 - 必须存储Producto的什么值,必须丢失什么值,为什么? PS。您的屏幕截图与您的 SQL 代码不匹配,列名不同...
标签: mysql mysql-workbench inner-join