iT邦幫忙

0

mysql兩個table

匿名 2014-06-25 19:42:322505 瀏覽

各位前輩想請問一下

我有兩個table a和b
裡面的欄位名稱都一樣

a.table 有資料 b.table 沒資料

但我每次執行都要從a.table 隨機選取一筆存進b.table
而且 不能和b.table裡面的資料重覆
但是我用left join卻沒辦法得到我要的效果
想請問各位前輩 這個sql要怎麼下呢?

然後隨機選取出來還有echo出來!

這是我的sql指令
$sql="select * from vote1 as a left join vote as b on a.name!= b.name and a.uid != b.uid and a.idcard != b.idcard order by rand() //limit 1"

外獅佬 iT邦大師 1 級 ‧ 2014-06-26 00:15:47 檢舉
a資料表要存進b資料表
跟join部join有什麼關係?
外獅佬 iT邦大師 1 級 ‧ 2014-06-26 00:19:05 檢舉
不就是用IF EXIST去判斷而已嗎?
先把A資料抓出來,給資料表比對
b有資料就啥事都不做
沒有就插他....毆飛
inert啦....

2 個回答

2
wonton
iT邦高手 6 級 ‧ 2014-06-26 09:07:32

可以使用 NOT IN

<pre class="c" name="code">SELECT * FROM a WHERE a.uid NOT IN (SELECT uid FROM b) ORDER BY rand() LIMIT 1
0
y7t2
iT邦新手 5 級 ‧ 2014-06-26 12:14:26

語法沒測試過,不過應該是對的0。0

SELECT *
INTO b
FROM (
SELECT *
FROM a
WHERE a.uid NOT IN (
SELECT b.uid
FROM
b
)
ORDER BY RANDON() LIMIT 1,1
);

我要發表回答

立即登入回答