2016-11-15 142 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语句将意味着因为它的错误,那么即使在下一个“失败”时整个语句也是错误的表。感谢您的洞察力 –

相关问题