如果这是一个愚蠢的问题,请原谅我,我对 PostgreSQL 不是很熟悉。
我从我所在地区的二手车经销商处收集了库存数据,并将其存储在 postgreSQL 表中。我有第二张表,其中包含有关某些品牌和型号的特定详细信息。例如:
经销商表的结构如下:
-----------------------------------------
| Dealership | Make | Model | Year | ID |
----------------------------------------|
| A | Ford | F250 | 2003 | 1 |
| A | Chevy| Cobalt| 2005 | 2 |
| B | Ford | F250 | 2003 | 1 |
| B | Dodge| Chrgr | 2012 | 3 |
-----------------------------------------
详细信息表的结构如下:
-----------------------------------------
| ID | DetailA| DetailB| DetailC|
-----------------------------------------
| 1 | data | data | data |
| 2 | data | data | data |
| 3 | data | data | data |
| 4 | data | data | data |
-----------------------------------------
我的目标是从多个经销商处检索车辆匹配并显示适当的详细信息。在上面的例子中,我想看看:
-----------------------------------------------------
| Make | Model | Year | DetailA | DetailB | DetailC |
-----------------------------------------------------
| Ford | F250 | 2003 | data | data | data |
-----------------------------------------------------
有了这个结果,我就知道A和B都有一辆2003福特F250在售,并且可以查看车辆的相关细节。
我尝试了许多不同的查询,但大多数都是这样的变体:
SELECT DISTINCT
dealership_table.make,
dealership_table.model,
dealership_table.year
details_table.detaila,
details_table.detailb,
details_table.detailc
FROM
dealership_table
INNER JOIN
details_table
ON
dealership_table.id = details_table.id
WHERE
dealership_table.dealership = 'A'
OR
dealership_table.dealership = 'B'
但是,这会从经销商为 A 或 B 的表中返回所有不同的匹配项。我尝试了多个内部连接,但我details_table
多次指定了一个错误抱怨。
如果我做的事情真的很愚蠢,我道歉。就像我之前说的,我几乎是一个 SQL 菜鸟。
我究竟做错了什么?我应该如何去检索所需的结果?非常感谢任何建议、解决方案或建议!