SQL语句没有返回任何内容或在某些字段中返回NULL

问题描述 投票:2回答:2

我在这里和其他网站上看了很多问题,仍然无法理解为什么我的SQL语句没有返回任何内容。

基本上我有一个名为'takeaway'的数据库分为两个表categoriesmenuitems

我想输出每个类别名称catname和与每个类别相关的菜单项,例如Cod Fillet是类别2'catid'的一部分。

类别表字段:

catid
catname

菜单项表字段:

itemid
itemname
itemsize
itemprice
categoryid (foreign key)

我使用了以下SQL语句但没有产生任何结果

select
    menuitems.itemname,
    menuitems.size,
    menuitems.price,
    menuitems.categoryid,
    categories.catid,
    categories.catname 
FROM categories 
RIGHT JOIN menuitems
    ON categories.catid=menuitems.categoryid

我尝试过INNER JOIN和LEFT JOIN。没有任何效果。我想这样输出:

Fish
    - Cod Fillet Large: £4.90 Medium: £3.90

等等......很明显我是用Mysql和PHP做的。

请有人帮忙指出我哪里出错了?

谢谢

Dan

php mysql sql left-join inner-join
2个回答
3
投票
select
    menuitems.itemname,
    menuitems.itemsize,
    menuitems.itemprice,
    menuitems.categoryid,
    categories.catid,
    categories.catname
FROM categories AS  categories
Left JOIN menuitems AS menuitems
    ON categories.catid = menuitems.categoryid;

0
投票

我已经解决了以下问题...你可以在下面链接查看结果...希望它能帮到你..

我已经创建了表格作为要求......

http://sqlfiddle.com/#!9/082891/2

select
    Menuitems.itemname,
    Menuitems.itemsize,
    Menuitems.itemprice,
    Menuitems.categoryid,
    Categories.catid,
    Categories.catname
FROM Categories 
Left JOIN Menuitems 
    ON Categories.catid = Menuitems.categoryid;

从这个结果,您可以定制您的需求......

© www.soinside.com 2019 - 2024. All rights reserved.