嗨我在編寫查詢時遇到了問題。我會很樂意收到一些建議!SQL查詢的WHERE子句中的許多條件
我的表格被稱爲TagObjects;它有5列,但問題的3個重要問題是:tob_tag,tob_object和tob_objectType。
我需要實現的查詢如下:具有未知數量的對(tob_object,tob_objectType)我需要知道所有對具有共同的所有tob_tag。
我跟這個查詢嘗試(該數字只是爲例):
SELECT "TagsObjects"."tob_tag"
FROM "TagsObjects"
WHERE TRUE
AND ("TagsObjects"."tob_object" = 8 AND "TagsObjects"."tob_objecttype" = 1)
AND ("TagsObjects"."tob_object" = 9 AND "TagsObjects"."tob_objecttype" = 1)
GROUP BY "TagsObjects"."tob_tag";
的WHERE TRUE是存在的,因爲我是動態生成的查詢。這個查詢適用於一對(WHERE子句中的一個AND),當我用兩對(如我上面發佈的示例)嘗試它時,它不返回任何行(並且數據在那裏!)。
如果有人知道我做錯了什麼或者做什麼的方法,這將是一個大幫助!
使用PostgreSQL 9.0.1。
丟掉TRUE;通過OR來代替AND來加入替代品。 並將SQL關鍵字(如FROM,WHERE和GROUP BY)放在行首。 – 2011-02-28 23:48:36
@Jonathan,你可以責怪我糟糕的格式。我添加了換行符(SQL片段最初是一行),但沒有將它們添加到最佳位置。我現在要解決這個問題。 – 2011-02-28 23:52:00
YOu需要使用OR而不是AND作爲您的查詢的一部分... TRUE AND((..)OR(..)OR(..)) – MatBailie 2011-03-01 01:18:37