我要完成這樣的事情:聯盟內部在哪裏
SELECT QtdEmbarcados.Total FROM QtdEmbarcados, ProgramacaoBarcas
WHERE (
(SELECT * FROM
(
SELECT ProgramacaoBarcas.ViagemID, ProgramacaoBarcas.Data, ProgramacaoBarcas.TSFechamento FROM ProgramacaoBarcas
WHERE CONVERT(DATE, ProgramacaoBarcas.TSFechamento) = CONVERT(DATE, GETDATE())
UNION
SELECT InsercaoManual.ViagemID, InsercaoManual.Data, InsercaoManual.TSFechamento FROM InsercaoManual
WHERE CONVERT(DATE, InsercaoManual.TSFechamento) = CONVERT(DATE, GETDATE())
) Retorno)
QtdEmbarcados.ViagemID = Retorno.ViagemID AND QtdEmbarcados.Data = Retorno.Data)
而且例如表:
QtdEmbarcados
ViagemId數據總
009 ------ 41000- --10
029 ------ 42000 --- 50
A19 ------ --- 42300 40
ProgramacaoBarcas
ViagemId數據TSFechamento
009 ------ 41000-10/05/2013
019 ------ 42000-NULL
B49 ------ 13000-11/05/2013
InsercaoManual
ViagemId數據TSFechamento
009 ------ 21000-NULL
0D9 ------ 42000-NULL
A19 ------ 42300-10/05/2013
預期結果:
ViagemId數據總
009 ------ 21000-10
A19 ------ 42300-40
在哪裏,我想從表中檢索X(QtdEmbarcados.Total)
一些結果,其中這些結果必須是我從表A和B(ViagemID
和Data
得到的範圍內, PKS)。 因此,我讀QtdEmbarcados
,檢查表Retorno
(A和B聯合)是否存在結果,然後返回。 但我得到的錯誤在轉換線「附近(不正確的sintax」
任何幫助
編輯:?只需插入一個例子,結果一想擺脫QtdEmbarcados
是行1(存在於表ProgramacaoBarcas
。 )和3(表InsercaoManual
存在)。 我以爲工會ProgramacaoBarcas
和InsercaoManual
(相同瑪),並在where子句中使用這些結果。
很抱歉,如果一個做了一些廢話。我是新來的SQL。
謝謝!
您的查詢是沒有意義的。請提供一些樣本數據和預期結果以幫助澄清。 –
您的Where子句不計算爲布爾值,因此是錯誤。你的意思是:WHERE EXISTS((SELECT * ...)?你還需要在子查詢和日期之間有AND或OR,或者該部分應該是子查詢的where子句? –
編輯該主題。 – Juliano