2016-11-15 177 views
0

我正在嘗試編寫一個查詢,它將從多個表中選擇其字段通過或失敗= =失敗的記錄。通常我不會有任何問題,寫這很簡單。我的問題是我規範化了字段的數據。我嘗試選擇的字段叫做PassOrFail,但是由於它出現在多個表中,我將字段標準化並將其更改爲「Tablename」PassOrFail,即Ove​​nPassOrFail。我的問題是如何爲所有有此字段的表選擇此字段?我將如何輸入WHERE和FROM表達式。我會看起來像這樣嗎?表查詢從多個表中選擇一個字段

SELECT* 
    FROM Oven, FirstPunch 
    WHERE Oven.OvenPassOrFail,FirstPunch.FirstPPassOrFail = "Fail"; 

或者我是否必須撤消字段的規範化才能使其正常工作?任何提示或建議指向我在正確的方向,將不勝感激。

+0

您必須爲每個表編寫單獨的查詢,然後將它們聯合在一起。查看關於UNION的文檔。通過查詢系統表,您應該能夠找到包含該列的所有表的列表。 – Rory

+0

樣本數據和期望的結果將真正幫助解釋你想要做什麼。 –

回答

0

我想我想通了,我所要做的只是添加一個AND語句,它的工作。

SELECT * 
FROM Oven, FirstPunch 
WHERE OvenPassOrFail = "Fail" AND FirstPPassOrFail = "Fail"; 
+1

你應該使用OR而不是AND? –

+0

@PeterMourfield這是一個很好的觀點,比如說如果一個表在編程邏輯中沒有任何「失敗」,那麼AND語句將意味着因爲它的錯誤,那麼即使在下一個「失敗」時整個語句也是錯誤的表。感謝您的洞察力 –

相關問題