簡體   English   中英

過濾具有多個表的產品列表

[英]Filtering a product list with multiple tables

首先,我對 php/mysql 很“新”。 我知道一些基本的東西,現在正在 Udemy 學習課程。 (提示總是受歡迎的)

我有以下問題:

  • 我想從多個表中生成一個文章列表:

該列表應包含我們的文章編號和 EAN,並且應僅包含尚未在供應商數據表中列出的文章(因此它將僅包含缺少供應商信息的文章)

表 1(文章數據庫)

藝人 伊恩 價格
1000 1,99
1001 2,99
1002 2,99
2000 2,99
3000 2,99

表 2(供應商數據)

藝人 供應商 ID 供應商Artnr
1000 70
1000 60
1002 60
1002 70
1001 81

我現在嘗試的:

SELECT a.artnr, a.ean
FROM ArticleDB AS a
JOIN SupplierData AS b ON a.artnr = b.artnr
WHERE a.artnr NOT IN
(
SELECT Artnr
FROM SupplierData
WHERE SupplierID = 70
);

但它一直給我一個包含其他供應商數據的列表。 雖然我希望它只給出 ArtibleDB 中的數字 + EAN,但在供應商數據中還沒有供應商 ID 70 的條目

我試圖得到的例子:

藝人 伊恩
1001
2000
3000

我錯過了什么嗎? 或者有人有其他想法如何使這項工作?

親切的問候,
斯坦

我得到了答案(在測試和嘗試時):

SELECT  a.artnr, a.ean
FROM    ArticleDB AS a
LEFT OUTER JOIN    SupplierDATA AS b ON a.artnr = b.artnr
WHERE   a.group != '---'
AND    a.group != 'TEC' 
AND    a.group != 'SER' 
AND a.artnr NOT IN
        (
            SELECT  Artnr
            FROM    SupplierData
            WHERE   SupplierID = 70
        )
      GROUP BY artnr
      ORDER BY artnr ASC;

似乎我不得不強迫它通過 artnr 分組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM