Sql 当所选变量不存在时,如何显示空值而不是删除整行
我正在尝试使用第三个链接链接同一数据库中的两个表 第一个表是product,包含productcode。第二个表是shop,有shopcode。 第三个表包含shopcode和相应的productcode 然而,并不是所有的产品都售出,现在它只是在结果中删除这些产品 这将列表从1600缩减到753,但是我想看到产品和商店的列表是次要问题 因此,我不想删除整行,而是希望表中的区域保持灰色或声明为空,表示没有商店出售它 我用过:Sql 当所选变量不存在时,如何显示空值而不是删除整行,sql,left-join,Sql,Left Join,我正在尝试使用第三个链接链接同一数据库中的两个表 第一个表是product,包含productcode。第二个表是shop,有shopcode。 第三个表包含shopcode和相应的productcode 然而,并不是所有的产品都售出,现在它只是在结果中删除这些产品 这将列表从1600缩减到753,但是我想看到产品和商店的列表是次要问题 因此,我不想删除整行,而是希望表中的区域保持灰色或声明为空,表示没有商店出售它 我用过: SELECT * FROM product, sells WHERE
SELECT * FROM product, sells
WHERE product.productcode = sells.shopcode
ORDER BY product.productcode.
我试着用谷歌和我的几个朋友找到它,但我似乎找不到答案
谢谢大家,,
果冻
编辑:在Tamago的帮助下,我已经将所有内容都放在了正确的表中。但是,在firefox上,另一个问题是,当没有值而不是离开表的边框时,它会留下一个空白,这使它看起来好像缺少了部分。另外,我在第一列中放置了productID,但是它似乎只在销售中显示productID,否则它也会留下一个空白
守则:
$sql = 'SELECT * FROM bier LEFT JOIN schenkt ON bier.biercode = schenkt.biercode LEFT JOIN kroeg ON schenkt.kroegcode = kroeg.kroegcode'; $resultaat = $db->query($sql); echo '<table border = 0>'; echo "<tr> <td style = 'width:100%;'>"; echo '<table border = 1>'; foreach($resultaat as $row) { echo '<tr>'; $nummer = $row['bier.biercode']; echo '<td>'.$row['bier.biercode'].'</td>'; echo '<td>'.$row['naam'].'</td>'; echo '<td>'.$row['type'].'</td>'; echo '<td>'.$row['stijl'].'</td>'; echo '<td>'.$row['alcohol'].'</td>'; echo '<td>'.$row['kroegnaam'].'</td>'; echo '<td>'.$row['adres'].'</td>'; echo '<td>'.$row['plaats'].'</td>';
可能值得注意的是,t1=啤酒或啤酒(英语)t2=申克或销售,t3=克朗或酒吧
免责声明,我不是酒鬼,但我想我的老师可能是 问:我不认为你的意思是删除——你只是在做一个选择查询。对的建议:也许你要找的是一个?太好了@user1459622-这就是我的意思。我假设t1是产品,t2是销售,但什么是mybridgetable?编辑:一个叫做google的漂亮东西告诉我在发布之前要想一想,t1=product t2=shop t3/bridgetable=sellst1是产品的别名,t3是商店的别名。t2,您在OP中没有给出它的名称,但您将其描述为“…具有店铺代码和相应的产品代码”。它被称为“桥接表”,因为它将两个主表产品和商店连接在一起。@Tamago,你是我的救世主:D明天就要到了,这是我必须克服的最大障碍别笑这是我在高中学习PHP的第一个月Paulsm4也非常感谢:P.s.更新了OP,让读者能更多地使用它。哦,太棒了@Jell0zz!我认为地狱里有一个特别的戒指,是为别人做家庭作业的人戴的。看看你做了什么!!!不,说真的-像你想的那样学习-这对你没有帮助,得到这样的答案。下次把你的帖子贴上家庭作业的标签,人们可以引导你找到答案,而不是像我那样脱口而出。
SELECT * FROM Products t1
LEFT JOIN myBridgeTable t2
ON t1.ProductID = t2.ProductID
LEFT JOIN Shops t3
ON t2.ShopID = t3.ShopID