Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 选择“合并两个表,每个表之间各有一个”_Mysql_Sql_Select_Join - Fatal编程技术网

Mysql 选择“合并两个表,每个表之间各有一个”

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

我一直在寻找如何做到这一点,但我甚至不知道它的名称(搜索它)。因此,我有:

数据表如下所示:

[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” 我不知道该怎么说,所以至少我需要一个线索。谢谢

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
存储整数。