0
我有兩個SQL查詢(兩者獨立工作),我嘗試要結合:合併兩個SQL查詢到一個
查詢#1:
select
N1."DateAndTime",
N0."Ration"
from
(("dbo"."AnimalFeedDailyConsumption" N0
inner join
"dbo"."AnimalHistoricalData" N1 on (N0."OID" = N1."OID"))
left join
"dbo"."BasicAnimal" N2 on (N1."BasicAnimal" = N2."OID"))
where
(N1."LactationNumber" = 4) and (N1."GCRecord" is null and (N2."Number" = 511))
查詢#2:
select
N2."Number",
N1."DIM",
N1."DateAndTime",
N1."LactationNumber",
N0."TotalYield"
from
(("dbo"."DailyMilk" N0
inner join
"dbo"."AnimalHistoricalData" N1 on (N0."OID" = N1."OID"))
left join
"dbo"."BasicAnimal" N2 on (N1."BasicAnimal" = N2."OID"))
where
(N1."LactationNumber" = 4) and (N1."GCRecord" is null and (N2."Number" = 511))
我想這導致在空的 '理性':
select
N2."Number",
N1."DIM",
N1."DateAndTime",
N1."LactationNumber",
N0."TotalYield",
N3."Ration"
from
(("dbo"."DailyMilk" N0
inner join
"dbo"."AnimalHistoricalData" N1 on (N0."OID" = N1."OID"))
left join
("dbo"."AnimalFeedDailyConsumption" N3
inner join
"dbo"."AnimalHistoricalData" N1 on (N3."OID" = N1."OID"))
left join
"dbo"."BasicAnimal" N2 on (N1."BasicAnimal" = N2."OID"))
where
(N1."LactationNumber" = 4) and (N1."GCRecord" is null and (N2."Number" = 511))
於是我想這也導致了對空「理性」:
select
N2."Number",
N1."DIM",
N1."DateAndTime",
N1."LactationNumber",
N0."TotalYield",
N3."Ration"
from
(("dbo"."DailyMilk" N0
inner join
"dbo"."AnimalHistoricalData" N1 on (N0."OID" = N1."OID"))
left join
"dbo"."AnimalFeedDailyConsumption" N3 on (N3."OID" = N1."OID")
left join
"dbo"."BasicAnimal" N2 on (N1."BasicAnimal" = N2."OID"))
where
(N1."LactationNumber" = 4) and (N1."GCRecord" is null and (N2."Number" = 511))
謝謝親愛的。使用所有連接作爲內部連接,查詢不會返回錯誤,也不會返回任何數據。希望我可以創建一個SQLfiddle,但數據庫非常龐大,並不是由我創建的,我只是sql的初學者。 –
那麼我提供的查詢將返回表中由連接關聯的所有內容,但是會根據WHERE條件進行過濾。因此,嘗試運行查詢時刪除了一個條件,然後刪除其中一個條件等,以查看每個條件的影響。您可以對每個表執行相同的操作(如果其中一個連接不正確並導致不匹配),我將如何調試該查詢。還要查看錶格的數據並手動檢查每個連接,以確保一個OID中的OID與另一箇中的OID相同。 – Turophile
請注意,如果'OID'在三個表中,它應該只是PK中的一個 - 其他兩個將是FK,因此不是唯一的。 – Turophile