Mysql 选择“合并两个表,每个表之间各有一个”
我一直在寻找如何做到这一点,但我甚至不知道它的名称(搜索它)。因此,我有: 数据表如下所示: [Products] ID - Name 1 - Apple 2 - Banana [Storehouses] ID - Name 1 - General 2 - Other [Stocks] Product - Storehouse - Stock 1 - 1 - 4 1 - 2 - 4 2 - 1 - 5 Here I want get all the products on 'Storehouse' = '2' but if not exists return 'null' or '0' And what I pretend to get is: [SELECT] Product - Stock 1 - 4 2 - null OR '0' [产品] ID-名称 1-苹果 2-香蕉 [仓库] ID-名称 1-概述 2-其他 [股票] 产品-仓库-库存 1 - 1 - 4 1 - 2 - 4 2 - 1 - 5 在这里,我想获得“仓库”=“2”上的所有产品 但如果不存在,则返回“null”或“0”,我假装得到的是: [选择] 产品库存 1 - 4 2-null或“0” 我不知道该怎么说,所以至少我需要一个线索。谢谢Mysql 选择“合并两个表,每个表之间各有一个”,mysql,sql,select,join,Mysql,Sql,Select,Join,我一直在寻找如何做到这一点,但我甚至不知道它的名称(搜索它)。因此,我有: 数据表如下所示: [Products] ID - Name 1 - Apple 2 - Banana [Storehouses] ID - Name 1 - General 2 - Other [Stocks] Product - Storehouse - Stock 1 - 1 - 4 1 - 2 - 4 2
SELECT a.ID,
a.Name,
COALESCE(b.Stock, 0) Stock
FROM Products a
LEFT JOIN stocks b
ON a.ID = b.Product AND
b.StoreHouse = 2
INT
,而不是VARCHAR
结果
╔════╦════════╦═══════╗
║ ID ║ NAME ║ STOCK ║
╠════╬════════╬═══════╣
║ 1 ║ Apple ║ 4 ║
║ 2 ║ Banana ║ 0 ║
╚════╩════════╩═══════╝
不要使用
varchar
存储整数。