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