即使unjoined查询正确返回,以下查询也会返回一个空集。有什么想法吗?
SELECT
`res`.pt,
`res`.desc,
`res`.length,
`res`.date,
`res`.practice,
`res`.v,
`res`.doc,
`res`.rappt,
`pt`.first,
`pt`.last
FROM
`res`
JOIN
`pt` ON `res`.pt = `pt`.pt
WHERE
`res`.id = '1' AND
`res`.code = '123'
感谢。
答案 0 :(得分:0)
您的语法有效。
因此,原因可能是:pt
包含NULL
个值。
使用LEFT OUTER JOIN
或制作pt
列NOT NULL
。使用INNER JOIN
会从结果集中删除所有符合NULL
的行。
同时仔细检查您的WHERE
条件是否真正可以访问。
答案 1 :(得分:-1)
试试这可能有用。我怀疑使用date和desc列没有``导致你的问题,因为它们都是MySQL保留字的一部分。
SELECT `res`.pt, `res`.`desc`, `res`.length, `res`.`date`, `res`.practice, `res`.v, `res`.doc, `res`.rappt, `pt`.first, `pt`.last FROM `res` JOIN `pt` ON `res`.pt = `pt`.pt WHERE `res`.id = '1' AND `res`.code = '123'
请注意我改变了:
`res`.desc
到
`res`.`desc`
和
`res`.date
到
`res`.`date`