从一个表中选择all但与多个表进行比较

时间:2017-03-19 18:31:29

标签: mysql sql postgresql join

您好我有以下查询:

        SELECT * 
        FROM ams.TestResultHiPot_Archive,ams.unit u
            WHERE timestamp >='3/16/2017 20:39 ' AND timestamp <= '3/17/2017, 20:39' AND LOWER(line_code)=LOWER('aac04') 
            AND LOWER(unitmodelnumber) like LOWER('%%%') AND unitmodelnumber != 'VTI' and u.serial_num=unitserialnumber and u.date_deleted is null

这个表有很多字段,所以我想远离每个字段的硬编码。此结构也适用于多个表。

我遇到的唯一问题是一些比较项目在单位表中,所以我想访问该平板电脑进行比较,如果匹配,那么在ORIGINALTEST RESULTS ARCHIVE表的结果中包含该记录而不是单位表。

我看到的主要问题是select *导致两个表都返回所有字段。

有没有办法使用select *,仍然比较2个表但只能从一个表中获取列?

我尝试了右连接,左连接,内连接,但似乎没有任何工作,它们都返回两个表中的所有列,也许我做错了,或者这可能无法完成?

我还想过可能会像查询一样选择所有表字段然后将它们存储在数组中并将该数组作为我的选择参数传递,这样我就可以传递确切需要的参数而无需硬编码(因为我总是会查询表)但似乎需要更长的时间,因为pgsql更慢。非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

select ams.TestResultHiPot_Archive.*