我有两个表: Tracking
和Files
。
- Tracking 包含很多以 track_id 作为主键的字段。
- Files 包含一个file_id、track_id、filename 和approved。
这track_id
显然是将文件记录链接回跟踪记录。可以是同一track_id的多个文件记录
我需要做的是显示跟踪中的所有记录的列表,其中包含未批准的文件。
现在为了测试,我有一个跟踪记录,其中有 3 个与之关联的文件。我的想法是使用 Left Join 和以下语句:
SELECT *
FROM tracking
LEFT JOIN files ON tracking.track_id = files.track_id
WHERE (tracking.archived = '0' AND approved = '0')
ORDER BY tracking.po_number;
但是,这会将相同的记录返回给我 3 次。我想我需要在某个地方添加一个独特的子句,但是我认为它应该去的每个地方都会给我一个 SQL 语句错误。