我已经能够使用MS Access 2010进行查询,这正是我想要的,但我在SQLite3中遇到了麻烦。这是Access SQL
SELECT pubacc_lo.*
FROM pubacc_en
LEFT JOIN pubacc_lo ON pubacc_en.call_sign = pubacc_lo.call_sign;
基本上它选择pubacc_lo表中的所有列以及表之间call_sign字段相等的行。 这不会将任何pubacc_en数据选择到MS Access中的最终查询中。
在SQLite 3中玩,我最接近的是
SELECT * FROM PUBACC_LO, PUBACC_EN WHERE PUBACC_en.call_sign=PUBACC_LO.call_sign
但是这个语句选择EN表中的所有数据以及LO表(交叉连接?)。我尝试了一些左外连接,但没有运气。任何提示将不胜感激!
答案 0 :(得分:0)
SELECT pubacc_lo.* FROM PUBACC_LO, PUBACC_EN WHERE UBACC_en.call_sign=PUBACC_LO.call_sign
如果您只想选择pubbac_lo的字段,则可以使用此字段。
答案 1 :(得分:0)
您应该可以使用与Access相同的查询。 SQLite3确实支持左外连接。
至于你的查询,如果你只想要LO表中的字段,那么在你的SELECT子句中请求如下:
SELECT PUBACC_LO.*
FROM PUBACC_LO, PUBACC_EN
WHERE PUBACC_en.call_sign=PUBACC_LO.call_sign
但问题是它只返回call_signs
两个表中的条目,而来自访问的外连接将返回PUBACC_EN
中的所有行,而不管是否有相应的{{1}进入..