【发布时间】:2014-02-01 03:17:23
【问题描述】:
两个表,tbljob 和 tblscan。
tblJob 有三个字段:
job_nojob_start_seqjob_end_seq
tblScan 有两个字段:
serialnumberfacility_id
如何查询每个作业的所有序列号?
这是我想出来的,但它不正确。
SELECT dbo.tblScan.facility_id, dbo.tblScan.serialnumber, dbo.tblJob.job_no
FROM dbo.tblScan CROSS JOIN
dbo.tblJob
WHERE EXISTS
(SELECT job_id, job_no, mailer, job_start_seq, job_end_seq
FROM dbo.tblJob AS tblJob_1
WHERE (dbo.tblScan.serialnumber BETWEEN job_start_seq AND job_end_seq))
感谢任何可以提供帮助的人。我有办法在这几个小时。如果您想知道数据结构是否可以更改,很遗憾,它不能。
【问题讨论】:
-
您的子选择没有意义。您应该只在主 SELECT 中有一个 WHERE 子句。
-
如何加入没有公共数据的表。我需要来自 tblJob 的数据?
标签: sql sql-server exists