次のようなテーブルがいくつかあります。
CREATE TABLE place (
id INTEGER NOT NULL,
name VARCHAR(75)
);
CREATE TABLE place_services (
id INTEGER NOT NULL,
place_id INTEGER
);
CREATE TABLE service (
name VARCHAR(100),
value BOOL,
place_services_id INTEGER
);
私は clojure で Korma ライブラリを使用しています。すべてのサービスのリストを使用して、ID の場所を取得するクエリが必要です。これまでのところ、私はこれを持っています:
(defentity service)
(defentity place-services
(table :place_services)
(has-many service)
(defentity place
(has-one place-services))
(select place
(join place-services (= :place_services.place_id :id))
(join service (= :place_services.id :service.place_services_id))
これは正しい結合を生成するように見えますが、サービス フィールドは含まれていません。追加してみました
(fields :service.name)
そして、サービスの名前の 1 つを返しました。1回のクエリでそれらすべてのリストを取得できるかどうか疑問に思っていました. ありがとう