以下是问题:
管理层想要知道哪个特定的飞机一直被分配到同一个机库(每架飞机只分配了一年,然后根据要求进行了更新。但是在续订时,该批次可能是也可能不是同一批次;批次表的pk是注册号和分配日期。列出飞机注册号,机库位置,机库容量。每架飞机在报告中只出现一次。
这是很多表格:
lot_nbr,hangar_nbr,reg_nbr,date_assigned
' 7706',' 1',' 505',' 2011-07-17'
' 7707',' 1',' 505',' 2012-07-18'
' 7708',' 1',' 505',' 2013-12-22'
' 8801',' 2',' 101',' 2011-01-22'
' 8802',' 2',' 101',' 2012-01-22'
' 8803',' 2',' 303',' 2011-01-10'
' 8803',' 2',' 202',' 2011-04-12'
' 8803',' 2',' 202',' 2012-04-12'
' 9902',' 3',' 303',' 2012-01-10'
' 9904',' 3',' 404',' 2011-01-10'
' 9905',' 3',' 404',' 2012-01-10'
这是机库表:
hangar_nbr,location,capacity,manager_nbr
' 1',' South RW',' 24',' 902'
' 2',' North RW',' 12',' 902'
' 3',' West RW',' 25',' 902'
这是飞机桌:(可能需要)
reg_nbr,plane_type,manufacturer,resident,date_service
' 101',' SE',' Prop',' Lear',' 1',' 1998 -12-01'
&#39; 202&#39;,&#39; DE Prop&#39;,&#39; Cessna&#39;,&#39; 1&#39;,&#39; 1999-11-22&#39; <登记/> &#39; 303&#39;,&#39; SE Jet&#39;,&#39; Bombardier&#39;,&#39; 1&#39;,&#39; 2000-07-06&#39; <登记/> &#39; 404&#39; ME Jet&#39;,&#39; Lear&#39;,&#39; 1&#39;,&#39; 2001-02-24&#39; <登记/> &#39; 505&#39;,&#39; SE Prop&#39;,&#39; Cessna&#39;,&#39; 0&#39;,&#39; 2003-12-01&#39; <登记/> &#39; 606&#39;,&#39; DE Prop&#39;,&#39; Bombardier&#39;,&#39; 1&#39;,&#39; 2004-11-22&#39; <登记/> &#39; 707&#39;,&#39; SE Jet&#39;,&#39; Lear&#39;,&#39; 1&#39;,&#39; 2005-07-06&#39; <登记/> &#39; 808&#39;,&#39; ME Jet&#39;,&#39; Cessna&#39;,&#39; 0&#39;,&#39; 2005-02-24&#39; <登记/> &#39; 909&#39;,&#39; SE Prop&#39;,&#39; Bombardier&#39;,&#39; 1&#39;,&#39; 2002-02-12&#39; < / p>
我想要的查询(完全正确):
reg_nbr,位置,容量
&#39; 202&#39;,&#39; North RW&#39;,&#39; 12&#39;
以下是我尝试的内容:
SELECT lots.reg_nbr, location, capacity
FROM hangar, lots
WHERE lots.hangar_nbr = hangar.hangar_nbr AND reg_nbr='202'
GROUP BY lots.reg_nbr
我的问题:
如上图所示,我想在我的结果中显示reg_nbr '202'
的飞机,因为它是唯一一次每次分配相同lot_nbr的飞机,但遗憾的是我在WHERE中写reg_nbr ='202'
的方式子句不是查询应该完成的方式。我想展示如何获得这个结果,但有一个真实和合法的查询。非常感谢您的努力。
答案 0 :(得分:2)
据推测,{{#each hps as |hp hp_index|}}
{{#power-select
search=(action "searchRepo")
selected=selected.[hp_index]
onchange=(action (mut selected))
as |repo|
}}
{{repo.name}}
{{/power-select}}
{{/each}}
适用于飞机。您可以使用单个表reg_nbr
和group by
子句获得飞机:
having
答案 1 :(得分:2)
SELECT reg_nbr
FROM lots
GROUP BY reg_nbr
HAVING COUNT(DISTINCT lot_nbr) = 1