我提出了两个查询,两个查询都在两个不同的表上使用内部联接.
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.
更多推荐
使用两个内部联接表
发布评论