[英]SQL Data type mismatch in criteria expression MS Access
我有個問題。
當我嘗試運行此查詢時:
SELECT Artiesten.ID AS txtArtiestId,
NULL AS txtAlbumId,
NULL AS txtNummerId,
Artiestnaam AS Artiesten,
NULL AS Albums,
NULL As Nummers
FROM Artiesten
WHERE Artiesten.Artiestnaam LIKE '*On*'
UNION ALL
SELECT
Artiesten.ID AS txtArtiestId,
Albums.ID AS txtAlbumId,
NULL AS txtNummerId,
Artiesten.Artiestnaam AS
Artiesten, Naam AS Albums,
NULL As Nummers
FROM Albums
INNER JOIN Artiesten ON Albums.ArtiestId = Artiesten.ID
WHERE albums.naam LIKE '*On*'
UNION ALL
SELECT
Artiesten.ID AS txtArtiestId,
Albums.ID AS txtAlbumId,
Nummers.ID AS txtNummerId,
Artiesten.Artiestnaam AS Artiesten,
Albums.Naam AS Albums,
Nummers.Naam AS Nummers
FROM (Nummers INNER JOIN Albums ON Nummers.AlbumId = Albums.ID)
INNER JOIN Artiesten ON Albums.ArtiestId = Artiesten.ID
WHERE Nummers.Naam LIKE '*On*'
它說:
“條件表達式中的數據類型不匹配”
現在我已經知道它必須與第一個和最后一個查詢有關。 這兩個一起導致了錯誤。
我究竟做錯了什么?
您可以通過在第一個查詢中為NULL
提供適當的類型來解決此問題:
SELECT Artiesten.ID AS txtArtiestId,
int(NULL) AS txtAlbumId,
int(NULL) AS txtNummerId,
Artiestnaam AS Artiesten,
str(NULL) AS Albums,
str(NULL) As Nummers
FROM Artiesten
WHERE Artiesten.Artiestnaam LIKE '*On*'
實際上,我不確定正確的類型是什么。 我只是猜測。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.