我一直在寻找如何实现这一点,但我甚至不知道它是如何调用的(用于搜索它)。所以我在这里:
表格数据如下:
[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'
我不知道使用哪种语句,所以至少我需要一个线索。感谢。
答案 0 :(得分:3)
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
。
RESULT
╔════╦════════╦═══════╗
║ ID ║ NAME ║ STOCK ║
╠════╬════════╬═══════╣
║ 1 ║ Apple ║ 4 ║
║ 2 ║ Banana ║ 0 ║
╚════╩════════╩═══════╝