使用两个内部联接表 [英] Using two inner join tables

查看:72
本文介绍了使用两个内部联接表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我提出了两个查询,两个查询都在两个不同的表上使用内部联接.

I have come up with two queries, both use an inner join on two different tables.

SELECT PRODUCTS.CODE, PRODUCTS.REFERENCE, PRODUCTS.TAXCAT, PRODUCTS.DISPLAY,PRODUCTS.NAME, PRODUCTS.PRICEBUY, PRODUCTS.PRICESELL, CATEGORIES.NAME AS CATEGORY
FROM PRODUCTS INNER JOIN CATEGORIES ON PRODUCTS.CATEGORY = CATEGORIES.ID;

查询2

SELECT PRODUCTS.CODE, PRODUCTS.REFERENCE, PRODUCTS.TAXCAT, PRODUCTS.DISPLAY,PRODUCTS.NAME, PRODUCTS.PRICEBUY, PRODUCTS.PRICESELL,STOCKCURRENT.UNITS AS UNIT FROM PRODUCTS INNER JOIN STOCKCURRENT ON STOCKCURRENT.PRODUCT = PRODUCTS.ID;

两个查询都可以很好地运行,当我尝试同时使用两个内部联接时会出错.这就是我自己想出的.我在理解实现此目的的语法时遇到了麻烦.

Both queries run fine on their own, when I try to use both inner joins together I get errors. This is what I came up with on my own. I'm having trouble understanding the syntax to achieve this.

SELECT PRODUCTS.CODE, PRODUCTS.REFERENCE, PRODUCTS.TAXCAT,
PRODUCTS.DISPLAY,PRODUCTS.NAME, PRODUCTS.PRICEBUY,
PRODUCTS.PRICESELL,STOCKCURRENT.UNITS AS UNIT FROM PRODUCTS INNER JOIN
STOCKCURRENT ON STOCKCURRENT.PRODUCT = PRODUCTS.ID, CATEGORIES.NAME AS
CATEGORY FROM PRODUCTS INNER JOIN CATEGORIES ON PRODUCTS.CATEGORY =
CATEGORIES.ID;

谢谢.

推荐答案

您尝试的查询存在一些语法问题.假设您只想将三个表连接在一起,则可以尝试以下查询:

Your attempted query has several syntax problems. Assuming you just want to join together the three tables, you may try the following query:

SELECT
    p.CODE,
    p.REFERENCE,
    p.TAXCAT,
    p.DISPLAY,
    p.NAME,
    p.PRICEBUY,
    p.PRICESELL,
    s.UNITS AS UNIT,
    c.NAME AS CATEGORY
FROM PRODUCTS p
INNER JOIN STOCKCURRENT s
    ON s.PRODUCT = p.ID
INNER JOIN CATEGORIES c
    ON p.CATEGORY = c.ID;

请注意,我在这里介绍了表 aliases .这些别名可以在查询的其他地方使用,以避免重复整个表名.

Note that I introduced table aliases here. These aliases can be used elsewhere in the query to avoid having to repeat the entire table name.

顺便说一句,我还可以看到对您的两个原始查询进行了合并.但是,由于没有预期的输出,还不清楚您想要什么.

By the way, I can also see taking a union of your two original queries. But without expected output, it was not entirely clear what you want.

这篇关于使用两个内部联接表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆