0
这里COUNT是我目前拥有的代码:从表中选择2个行时另一个表
SELECT `A`.*
FROM `A`
LEFT JOIN `B` ON `A`.`A_id` = `B`.`value_1`
WHERE `B`.`value_2` IS NULL
AND `B`.`userid` IS NULL
ORDER BY RAND() LIMIT 2
什么它目前应该做的是选择2行从A
当所选择的两行A_id
是不在value_1
或value_2
的B
。并且B
中的行特定于具有userid
的个人用户。
我需要做的就是让它也让还检查是否已经有N行中B
一个A_id
(在value_1
,或value_2
)和userid
匹配,如果有N多行多,这不是不要选择A
行。
谢谢Thomas! 它的工作,大部分。除了我有时在同一行返回两次(它不应该有相同的行返回两次),有时它返回行“B2.value_1 = A.A_id或B2.value_2 = A.A_id'”应该阻止它这样做。通常情况下,他们似乎在不同的顺序。 – Marcus 2010-06-15 05:26:22
@Marcus - 从哪个查询?第一个查询不应该为A返回多个PK值。如果您认为它多次返回同一行(同一行?),您能向我们展示一些示例输入和它正在生成的输出吗? – Thomas 2010-06-15 14:45:23
哦,我明白我的所作所为......我误解了你,并将你的疑问和你的疑问结合起来......哎呀。我现在已经开始工作了。再次感谢! – Marcus 2010-06-15 21:04:14