Mysql通过引用字段

时间:2015-11-25 11:22:38

标签: php mysql select recursive-query mutual-exclusion

我将使用一个比喻性的例子。 有一个会议,我有一个我想邀请的人员名单。清单如下表所示:

People (id (PK), name, excludes)

每个人都可以拥有一个他不想见的人("排除"代表该人不想要的人)。

所以,我有以下列表

100, Jack, 101
101, John, NULL
102, Bob, 103
103, Mary, 102

这意味着杰克(身份证100)不想见约翰,约翰没有任何问题,而鲍勃并不想见到玛丽。相互而言,玛丽并不想见到鲍勃。

现在,我想选择邀请参加我的会议的人。 规则如下:

我随机选择(按rand()命令)所有人。这个人的重要性来自他的订单。

因此,例如,我按顺序检索以下列表:

Bob
John
Mary
Jack

这意味着Bob被邀请了。我知道鲍勃并不想见到玛丽。玛丽不会被邀请。 然后,有约翰。 John没有人遇到问题,他之前的人(bob)都没有问题。所以,约翰被邀请了。 玛丽不能被邀请,因为鲍勃(更重要的是因为他在名单中排名第一)并不想见到她。 杰克讨厌约翰!但是约翰被邀请了,所以杰克不能被邀请。

结果将是:

Bob
John

其他示例:我按顺序检索以下列表:

Mary
John
Jack
Bob

玛丽受邀,她不想见到鲍勃。 约翰被邀请,因为玛丽对他没有任何问题。他可以见到每个人。 杰克没有被邀请!他无法见到约翰。 鲍勃没有被邀请,因为他无法见到玛丽,玛丽也无法见到鲍勃。

结果将是:

Mary
John

我不知道如何根据需要创建查询。我真的不知道这样的查询是否可行。

这里有任何SQL查询专家吗?

谢谢!

我重写了所有问题以更好地解释我的问题

0 个答案:

没有答案