从MySQL中的两个表(对于'相关产品'查询)中提取数据

时间:2017-05-02 20:37:48

标签: mysql

我试图从两张桌子中提取相关产品的数据'小部件。 我已经尝试了所有的JOINS和UNIONS,但仍然没有得到任何结果。

第一个表(productdocs)存储文档。第二个(prodrelated)显示产品何时与文档相关:

  • productdocs

    • pdid(文档的唯一ID)
    • pdname(上传文件的名称)
  • prodrelated

    • prprodid(PRODUCT的ID)
    • pritemid(文档的ID)

我正在尝试为符合产品ID的任何文档输出productdocs.pdname。换句话说,在以下时间显示pdname:

WHERE productdocs.pdid = prodrelated.pritemid

我会发布我的SQL代码,但它都没有用,所以我认为这是没有意义的。我希望在我疲惫不堪的大脑中我能正确解释这一点 - 任何帮助都非常感激。

2 个答案:

答案 0 :(得分:1)

您可以使用简单的INNER JOIN,例如:

SELECT pd.pdid, pd.pdname
FROM   productdocs pd JOIN prodrelated pr ON pd.pdid = pr.pritemid
WHERE  pd.prprodid = <any_id>;

如果您不想过滤掉任何记录,可以删除WHERE子句,它将输出所有记录。

Here's MySQL的JOIN文档。

答案 1 :(得分:0)

哇,你们这些人很快 - 非常感谢你们。

Darshan - 首先谢谢你,我能够为你所写的内容制作一些mod并且效果很好。我试着给你的答案+1,但也许我没有足够的声誉&#39;?以下是我的工作,感谢你:

SELECT pd.pdid, pd.pdname
FROM productdocs pd 
        JOIN prodrelated pr 
        ON pd.pdid = pr.pritemid
WHERE pr.prprodid = '#url.prodid#' 

将来我会尝试发布一些代码示例,但在这个问题上,我老实说至少尝试了7个不同的查询,所以我不知道要发布哪个!