Sql server 从没有任何id的表中检索数据

Sql server 从没有任何id的表中检索数据,sql-server,Sql Server,我有这样一个问题: SELECT t.transactID, t.TBarcode, l.LocName, v.Vtype, t.dtime, t.PlateNo, ps.PS, pc.PlateCode, p.COMMENTS FROM dbo.PoliceRecord_tbl p INNER JOIN dbo.Transaction_tbl t ON t.PSID = p.PSource AND t.PCdID = p.

我有这样一个问题:

SELECT
    t.transactID,
    t.TBarcode,
    l.LocName,
    v.Vtype,
    t.dtime,
    t.PlateNo,
    ps.PS,
    pc.PlateCode,
    p.COMMENTS
FROM dbo.PoliceRecord_tbl p
INNER JOIN dbo.Transaction_tbl t ON t.PSID = p.PSource AND t.PCdID = p.PSCode AND t.PlateNo = p.PNumber
JOIN dbo.Location_tbl l ON l.Locid = t.Locid
JOIN dbo.VType_tbl v ON v.vtid = t.vtid
JOIN dbo.PlateSource_tbl ps ON ps.PSID = t.PSID
JOIN dbo.PlateCode_tbl pc ON pc.PCdID = t.PCdID AND t.STATUS IN (0, 1)
    AND t.TBarcode NOT IN (
        SELECT TBarcode
        FROM dbo.EmailSendLog_tbl
    ) AND p.DELETED = 0
END
我的输出是正确的:

但我还有一个表EmailSubject\u tbl,它只包含一个字段 我希望在执行查询时也获得此值: 我的预期产出

Transactid  Tbarcode    Locname       Vtype    Dtime      PlateNo PS PlateCode Comments EmailSubject
3701      6191112123456 AddressHotel  Normal   2013-06-09  123456  Dubai  A     Test     PoliceRecord

您可以使用
交叉联接
引入不相关的表:

SELECT
    ...
    p.COMMENTS,
    es.EmailSubject
FROM dbo.PoliceRecord_tbl p
....
CROSS JOIN dbo.EmailSubject_tbl es
...
试试这个

SELECT
    t.transactID,
    t.TBarcode,
    l.LocName,
    v.Vtype,
    t.dtime,
    t.PlateNo,
    ps.PS,
    pc.PlateCode,
    p.COMMENTS,
   e.EmailSubject
FROM dbo.PoliceRecord_tbl p, EmailSubject_tbl e
INNER JOIN dbo.Transaction_tbl t ON t.PSID = p.PSource AND t.PCdID = p.PSCode AND t.PlateNo = p.PNumber
JOIN dbo.Location_tbl l ON l.Locid = t.Locid
JOIN dbo.VType_tbl v ON v.vtid = t.vtid
JOIN dbo.PlateSource_tbl ps ON ps.PSID = t.PSID
JOIN dbo.PlateCode_tbl pc ON pc.PCdID = t.PCdID AND t.STATUS IN (0, 1)
    AND t.TBarcode NOT IN (
        SELECT TBarcode
        FROM dbo.EmailSendLog_tbl
    ) AND p.DELETED = 0

假设您的EmailSubject包含一条记录

SELECT
    t.transactID,
    t.TBarcode,
    l.LocName,
    v.Vtype,
    t.dtime,
    t.PlateNo,
    ps.PS,
    pc.PlateCode,
    p.COMMENTS,
    (select TOP 1 EmailSubject FROM EmailSubject_tbl ) AS EmailSubject
FROM dbo.PoliceRecord_tbl p
INNER JOIN dbo.Transaction_tbl t ON t.PSID = p.PSource AND t.PCdID = p.PSCode AND t.PlateNo = p.PNumber
JOIN dbo.Location_tbl l ON l.Locid = t.Locid
JOIN dbo.VType_tbl v ON v.vtid = t.vtid
JOIN dbo.PlateSource_tbl ps ON ps.PSID = t.PSID
JOIN dbo.PlateCode_tbl pc ON pc.PCdID = t.PCdID AND t.STATUS IN (0, 1)
    AND t.TBarcode NOT IN (
        SELECT TBarcode
        FROM dbo.EmailSendLog_tbl
    ) AND p.DELETED = 0
END