iT邦幫忙

0

mysql 欄位交叉比對查詢

各位好~這是小弟為自己出的一個作業,因為實在很煩惱,解不出來,所以特此上來詢問。

本人還是新手請多擔待。

謝謝大家

table X

欄位: xid,name,note

table Y

欄位: yid,note

tableX
xid , name , note
4444 , 金城武 , 哈
5555 , 謝和弦 , 味
6666 , 李小龍 , null

tableY
yid , note
6666 , 帥
5555 , 唱
4444 , 猛

主要是希望能夠以tableY的note為主
然後比對id 但是希望有tableX的name
因為tableY沒有name可以對應ID。

My table(希望的結果)
xid name note
6666 李小龍 猛
5555 謝和弦 唱
4444 金城武 帥

目前使用join 跟子查詢 好像都有錯誤 請問有比較好一點的方法能得到我想要的結果嗎?

看更多先前的討論...收起先前的討論...
可以先 post 你的 SQL
小魚 iT邦大師 1 級 ‧ 2017-06-22 19:30:01 檢舉
根本對不起來啊!這就像梁山伯與茱麗葉一樣...
jerry00218 iT邦好手 10 級 ‧ 2017-06-22 22:01:47 檢舉
我也想知道對應的條件是什麼…
4444 , 金城武 要怎麼跟 6666, 帥 對應起來…
難道是 AI 人工智慧嗎…這樣其它人就不帥了嗎…
小魚 iT邦大師 1 級 ‧ 2017-06-22 22:14:38 檢舉
提示就在第一句
~這是小弟為自己出的一個作業~
期待你能夠出新的資料庫系統,
到時候就可以組出答案了。
你希望的結果是對的嗎?
froce iT邦大師 1 級 ‧ 2017-06-22 23:42:38 檢舉
你的id對應根本不對啊。
資料庫要有某一欄位可以對應,這兩張資料表才能join。

你這兩張資料表只能組出
6666 李小龍 帥
5555 謝和弦 唱
4444 金城武 猛

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2017-06-23 08:51:14
最佳解答
CREATE TABLE TableX
    (`xid` int, `name` varchar(3), `note` varchar(4))
;
    
INSERT INTO TableX
    (`xid`, `name`, `note`)
VALUES
    (4444, '金城武', '哈'),
    (5555, '謝和弦', '味'),
    (6666, '李小龍', NULL)
;


CREATE TABLE TableY
    (`yid` int, `note` varchar(1))
;
    
INSERT INTO TableY
    (`yid`, `note`)
VALUES
    (6666, '帥'),
    (5555, '唱'),
    (4444, '猛')
;
SELECT x.xid, x.name, y.note
FROM tablex x, tabley y
WHERE
(x.name='李小龍' and y.note='猛')
OR
(x.name='謝和弦' and y.note='唱')
OR
(x.name='金城武' and y.note='帥')
ORDER BY x.xid DESC

GIGO

小魚 iT邦大師 1 級 ‧ 2017-06-23 11:55:01 檢舉

海綿寶寶也太強了,給它硬湊的
(既然要這樣那就不需要資料庫了/images/emoticon/emoticon16.gif)

我要發表回答

立即登入回答