0

2 つの述語がある場合 (機能しない):

addblock 'city(city_dim_id) -> int(city_dim_id).'
addblock 'city_name[city_dim_id] = name -> int(city_dim_id), string(name).'

事実を追加できます:

exec '+city(1).'
exec '+city_name[0] = "N/A".'
exec '+city_name[1] = "Chicago".'

これらは、述語内の事実のクエリです。

query '_(city_name) <- city_name(city_name, _).'
query '_(city_name) <- city_name(_, city_name).'
query '_(city_dim_id, city_name) <- city_name(city_dim_id, city_name).'

私の質問は、1.両方のテーブルのcity_dim_idは何ですか、2.city_dim_idとcity_nameを返しますが、両方のテーブルにcity_dim_idが存在する場所のみを表示するクエリを作成するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

0

申し訳ありませんが、質問を理解するのに苦労しています。以下は、同じ city_name を持つ city_dim_id を返します。

_(c1, c2) <-
    city(c1),
    city(c2),
    city_name[c1] = city_name[c2],
    c1 != c2.
于 2016-07-27T08:02:03.240 に答える