我刚刚意识到我的自动计价计算没有填写ListID 4的价格。 我从下面显示的SELECT中插入了价格。
对于bugg研究,我执行了没有WHERE部分的SELECT,它显示了示例数据行。
我找不到错误,为什么它没有显示在完整的选择中(它没有ListID = 4的条目)。
有人可以看到我的错误吗?
编辑:只是单独尝试了子选择,它没有显示所请求文章的行。为什么NOT IN子句不受此事实的影响?
答案 0 :(得分:0)
很有可能,这是因为您将artikelnummer
和auspraegungID
结合起来。
我认为你没有说明'100' + '0'
对'10' + '00'
有意义的事实。
不是尝试将两个字段合并为一个,而是尝试以下内容?
SELECT
*
FROM
#allArticles AS allArticles
WHERE
Artikelnummer = 'IT-810260'
AND NOT EXISTS (SELECT *
FROM KHKPreisListenArtikel
WHERE ListeID = 4
AND Artikelnummer = allArticles.Artikelnummer
AND Auspraegung = allArticles.Auspraegung
)
如果仍然不起作用,那么必须在该另一个表中有相应的记录,找到它们就像这样......
SELECT
*
FROM
#allArticles AS allArticles
INNER JOIN
KHKPreisListenArtikel AS Preis
ON Preis.ListeID = 4
AND Preis.Artikelnummer = allArticles.Artikelnummer
AND Preis.Auspraegung = allArticles.Auspraegung
WHERe
allArticles.Artikelnummer = 'IT-810260'
还请注意
请不要包含代码图片,请复制代码,以便我们也可以复制。
当表/字段是另一种语言时,特别是 ......
修改强> 的
这是一个查询,它将显示原始查询失败的原因。
SELECT
*
FROM
#allArticles AS allArticles
INNER JOIN
KHKPreisListenArtikel AS Preis
ON Preis.ListeID = 4
AND Preis.Artikelnummer + CONVERT(VARCHAR(50), Preis.Auspraegung)
=
allArticles.Artikelnummer + CONVERT(VARCHAR(50), allArticles.Auspraegung)
WHERE
allArticles.Artikelnummer = 'IT-810260'