繁体   English   中英

如何创建必须连接四个表以允许我提取所需数据的SQL查询?

[英]How can I create this SQL query that has to join four tables to allow me extract the data I need?

我想要做的是一个PHP脚本,该脚本使用PHP和mySQL获取Joomla VirtueMart的所有产品。 但是我的问题与Joomla或PHP无关,但是我需要一个mySQL查询。

在下面,您可以找到保存我需要的数据的表和字段,

product_id,product_desc,product_full_image,product_name,product_price和category_name。

要获得PRODUCT_PRICE你需要从PRODUCT_ID jos_vm_product并与PRODUCT_ID从匹配它jos_vm_product_price得到PRODUCT_PRICE。

每个product_idjos_vm_product_category_xref都有一个category_id 因此,当找到category_id时,您将从jos_vm_category获得category_name

这对我来说很困难,因为我对SQL查询不是很熟悉,并且在如何联接这些表方面需要您的帮助,因此它将使我能够回显所需的值。

谢谢。

jos_vm_poduct

product_id
product_desc
product_full_image
product_name

jos_vm_product_price

product_id
product_price

jos_vm_product_category_xref

product_id
category_id

jos_vm_category

category_id
categroy_name

当然,我们可以给您写一个答案,但是,为了最好地了解它,这是您想知道的事情

select <stuff> from <table1> 

http://dev.mysql.com/doc/refman/5.0/en/join.html

然后,您将其与另一个表连接

所以,

select product_name, product_price from table1 
left join table2 on table1.product_id=table2.product_id

链接表格后。

现在,去除您想要或不想要的位。 例如,如果您退出加入..您可能想要

where product_price>0

然后剥离或选择所需的钻头后,作业就完成了。

这样的事情应该起作用:

SELECT jvp.product_id, product_desc, product_full_image, product_name, product_price, category_name   
FROM jos_vm_product jvp  
JOIN jos_vm_product_price jvpp  
ON jvp.product_id = jvpp.product_id  
JOIN jos_vm_product_category_xref jvpcx  
ON jvpcx.product_id = jvp.product_id  
JOIN jos_vm_category jvc  
ON jvc.category_id = jvpcx.category_id  

关于为什么有任何疑问,请问!

我假设您需要给定类别的所有产品。 如果不是,则很容易删除where子句以获取所有内容。

我使用子查询来获取给定类别的所有产品ID,然后加入其他两个表。

SELECT
        *
    FROM
        (SELECT 
            p.product_id,
            c.category_name, 
        FROM 
            jos_vm_product_category_xref AS p
            LEFT JOIN jos_vm_category AS c
            ON p.category_id == c.category_id
        WHERE 
            c.category_id = 4
        ) as products
        LEFT JOIN jos_product 
        ON jos_product.product_id=products.product_id
        LEFT JOIN jos_vm_product_price 
        ON jos_vm_product_price=products.product_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM