假設我有兩個表sql語句連接兩個表
表名組
列1:送禮者
列2:接受
表名用戶信息
列1 :名稱
第2列:狀態
我想選擇發信人,接受人和userinfo.status從組表中發送者或接受者的名字是zakir給予者或接受者存在於uerinfo表作爲名稱。
需要幫助寫SQL語句查詢taht .. 在此先感謝... :)
假設我有兩個表sql語句連接兩個表
表名組
列1:送禮者
列2:接受
表名用戶信息
列1 :名稱
第2列:狀態
我想選擇發信人,接受人和userinfo.status從組表中發送者或接受者的名字是zakir給予者或接受者存在於uerinfo表作爲名稱。
需要幫助寫SQL語句查詢taht .. 在此先感謝... :)
什麼你是指也被稱爲在SQL語句中的INNER JOIN條款。
根據關係,您可以創建一個INNER JOIN來連接兩個相同的變量。
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
提取嘗試下面的查詢,
SELECT
gp.giver,gp.acceptor,ui.status
FROM group as gp JOIN userinfo as ui
on ui.name = 'zakir'
AND (gp.giver = 'zakir' or gp.acceptor = 'zakir')
或者嘗試這種無連接,
SELECT
gp.giver,gp.acceptor,ui.status
FROM group as gp, userinfo as ui
WHERE ui.name = 'zakir'
AND (gp.giver = 'zakir' or gp.acceptor = 'zakir')
試試這個:
SELECT `group`.`giver`, `group`.`acceptor`, `userinfo`.`status`
FROM `group`, `userinfo`
WHERE (`group`.`giver` = 'zakir' OR `group`.`acceptor` = 'zakir')
AND `userinfo`.`name` = 'zakir'
個人。請不要一次又一次發佈相同的答案。請檢查以前的答案,然後發佈自己的答案。 –
@HarishChinju你如何看待我的答案與你的相似?我逃脫了表和列名稱,因爲它們中的一些是保留關鍵字。你沒有。另外你的答案比我早不到1秒,我怎麼能在發佈之前檢查它?我們在這裏或什麼比賽? –
在我們的答案之間,唯一的區別是我已經使用了別名,在那裏你沒有使用過,你已經做到了逃避順序,以避免保留的關鍵字衝突。這是一個偉大的工作。但我的建議是,我認爲在我們發佈之前會有味精。所以在發佈之前,我們可以刷新一下以檢查發佈的答案。無論如何,讓我們看看這是否解決了他的問題。對。? –
select g.giver, g.acceptor u.status
from group g, userinfo u
where u.name = 'zakir'
and (g.giver = u.name or g.acceptor = u.name)
它應該做一份工作。
夥計們..請不要一次又一次發佈相同的答案。請檢查以前的答案,然後發佈自己的答案。 –
這是假設你要爲送禮者和受體
可能需要MySQL的句法
Select giver, g.status, acceptor, a.status
FROM GROUP
join userinfo as g on group.giver = g.name
join userinfo as a on group.acceptor = a.name
where (giver = 'zakir' or acceptor = 'zakir')
哪裏是關鍵加入一些調整兩個狀態? –
你有什麼嘗試?那兩張桌子之間有什麼關係? – Andrew
是的先生我編輯我的帖子,你可能會看到.. :) 是先生userinfo表名稱和組表格接受器或贈送者是相同的。 例如,如果userinfo表名是zakir,那麼groups表接受者或授予者也可能是zakir – user3148422