我正在做left outer join
超过6个表,但我不希望查询保留重复的列.在SQLite中,重复列使用下划线重命名并添加到视图中.
是否可以在同一查询中删除它们?
SELECT * FROM AQ_ADRESSES
LEFT OUTER JOIN AQ_CP_ADRESSES ON AQ_ADRESSES.IdAdr = AQ_CP_ADRESSES.IdAdr
LEFT OUTER JOIN AQ_ODONYMES ON AQ_ADRESSES.Seqodo = AQ_ODONYMES.Seqodo
LEFT OUTER JOIN AQ_REFERENTIEL ON AQ_ADRESSES.NoSqNoCivq = AQ_REFERENTIEL.NoSqNoCivq
LEFT OUTER JOIN AQ_MUNICIPALITES ON AQ_ADRESSES.CodeMun = AQ_MUNICIPALITES.CodeMun
LEFT OUTER JOIN AQ_ARRONDISSEMENTS ON AQ_ADRESSES.CodeArr = AQ_ARRONDISSEMENTS.CodeArr
Run Code Online (Sandbox Code Playgroud)
由于您的连接列具有相同的名称,您可以使用using
运算符来定义连接.在这种情况下,"重复"列将不是结果集的一部分
SELECT *
FROM AQ_ADRESSES
LEFT OUTER JOIN AQ_CP_ADRESSES using (IdAdr)
LEFT OUTER JOIN AQ_ODONYMES using (Seqodo)
LEFT OUTER JOIN AQ_REFERENTIEL using (NoSqNoCivq)
LEFT OUTER JOIN AQ_MUNICIPALITES using (CodeMun)
LEFT OUTER JOIN AQ_ARRONDISSEMENTS using (CodeArr)
Run Code Online (Sandbox Code Playgroud)
在SQLite 3.8中测试过,不知道在早期版本中这是否有效.但SQL标准需要此行为.
但总的来说select *
,在生产中使用的代码中被认为是有害的.
归档时间: |
|
查看次数: |
1012 次 |
最近记录: |