0
まず、サンプルレコードを示します。複数のINを含む複合SQLステートメント
表:objekte
+--------+----------+---------+------------+
| objid | objidate | objmask | deletedate |
+--------+----------+---------+------------+
| 271136 | 54084960 | 4 | 0 |
| ... | ... | ... | ... |
+--------+----------+---------+------------+
表:objkeys今
+----------+--------+------------+-------------------------------------+
| parentid | okeyno | okeyname | okeydata |
+----------+--------+------------+-------------------------------------+
| 1511160 | 1 | BelegNr. | 634685 |
| 1511160 | 2 | BELEGARTBK | oU = Lieferschein ohne Unterschrift |
+----------+--------+------------+-------------------------------------+
は、ここです私はこれまで試してみましたです:
SELECT * FROM objekte
WHERE objid IN (
SELECT MIN(parentid) as parentid FROM objkeys
WHERE okeyname = 'BelegNr.'
GROUP BY okeydata
HAVING COUNT(okeydata) = 1
) AND objmask = '69' AND deletedate = '0' AND DATEADD(mi, objidate, '30.12.1899') >= DATEADD(day, -30, getdate())
予想される出力:
私は私のSQLコードでBELEGARTBK is "oU = Lieferschein ohne Unterschrift".
は、私はすべての現在を表示することができる場所すべてがokeyname "Belegn"
のための1つのレコードのみが存在するテーブルobjekte(objkeys.parentid = objekte.objid
)からをOBJID表示したいです「ユニーク」なオブジェクト。しかし、私は現時点で "ベルガルツク"でフィルタリングすることはできません。これを行う簡単な方法はありますか?
私はあなたがそこに示されているより多くのデータとSQLのフィドルを作成するために助言します。 'BelegNr.'と' BELEGARTBK'値にどのくらい重複した 'okeyname'があるかは、私には非常に不明です。このデータベース設計は良く見えません –