我有三个表:nanoProd、nanoFiles和nanoRelFiles。第三个表用于存储文件元以及它们与其他屏幕的关系。
当我知道一个列不存在时,我得到了一个错误,我不知道为什么:

no such column: nanoFiles.fileLoc:
SELECT
prodTable.name AS prodName,
prodTable.intro AS prodIntro,
prodTable.prodText AS nanoText,
nanoFiles.fileLoc AS nanoFile
FROM nanoProd AS prodTable
LEFT JOIN nanoRelFiles on nanoFiles.rid = nanoRelFiles.file_id
LEFT JOIN nanoProd ON nanoProd.rid = nanoRelFiles.item_id
WHERE nanoRelFiles.scr_type = 'prod' AND nanoRelFiles.fileUse = 'list'

最佳答案

您没有加入任何名为“nanoFiles”的表。您需要JOIN加入该表才能从该列SELECT。像这样的:

FROM nanoProd AS prodTable
JOIN nanoFiles on ...
LEFT JOIN nanoRelFiles on nanoFiles.rid = nanoRelFiles.file_id

关于mysql - 列不存在时没有此类列错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30654394/

10-09 05:44