【发布时间】:2017-04-19 07:48:21
【问题描述】:
给出的表格如下:
MAKLER (MaklerID, Name, registriertSeit)
IMMOBILIE(ImmoID, Typ, qm, AnzahlZimmer, Baujahr, Energiewert, Preis,
angebotenVon, Provision, liegtIn)
“angebotenVon”是“MaklerID”的外键
我正在尝试编写一个查询,检查“Makler”是否销售类型为“Haus”的imbolie,而不是其他类型的“Immobilien”。如果 Makler 出售“Haus”和“Wohnungen”类型的不动产,我不想选择它们。
到目前为止,我的解决方案如下所示:
SELECT makler.*
FROM makler JOIN
immobilie
ON immobilie.angebotenVon = makler.MaklerID
WHERE immobilie.Typ = "Haus" AND immobilie.Typ != '%'
因此,如果“Haus”在固定不动的桌子内,并且“Makler”不出售任何其他东西,则显示完整的 makler 桌子。但我对这个解决方案非常不确定。
【问题讨论】:
-
我猜你正在使用过滤查询,试试 immobilie.Typ LIKE "%Haus%" 并删除 immobilie.Typ != '%' 因为它是多余的
-
但如果他们有“Haus”类型的“Immobile”和任何其他类型,它会显示“Makler”。但我需要所有只出售“Haus”类型不动的“Makler”。我希望我能解释一下我的意思。
-
所以您的意思是“Makler”是您的主要数据,您只想过滤“Haus”而不是“Immobilien”的数据?
-
"Haus" 是 immobilie.type 中的一个可能值。如果 Makler 出售固定类型“Haus”,我想选择他。如果他有“豪斯”类型或者其他类型,我不想选择他。我更新了我的问题。
-
尝试使用 immobilie.Typ = '%Haus' 将你的两个 where 子句合并到这个子句中。我假设你所有的数据类型都是字符串。