這是很難解釋和我的英語不起作用,但它是: 我有兩個數據表:「節點」和「記錄」。 在節點表我保存的數據的問題和答案SQL查詢來聯合一個數據表與另一個數據表
節點的數據: | id |名稱|鍵入|
記錄: | id | questionid | answerid |
我試過儘管不成功,但要做一個sql查詢給我的所有記錄的數據,但與答案的名稱和id的問題intead。 總之,我需要的是:records.id,nodes.name(問題),nodes.name(回答)
這是很難解釋和我的英語不起作用,但它是: 我有兩個數據表:「節點」和「記錄」。 在節點表我保存的數據的問題和答案SQL查詢來聯合一個數據表與另一個數據表
節點的數據: | id |名稱|鍵入|
記錄: | id | questionid | answerid |
我試過儘管不成功,但要做一個sql查詢給我的所有記錄的數據,但與答案的名稱和id的問題intead。 總之,我需要的是:records.id,nodes.name(問題),nodes.name(回答)
SELECT
questions.name AS questionname
answers.name AS answername
FROM records
INNER JOIN nodes AS questions ON records.questionid=questions.id
INNER JOIN nodes AS answers ON records.answerid=answers.id
的ID相關,非常感謝,工作得很好! – Marcelo
您可以使用此查詢:
SELECT q.name AS question, a.name AS answer
FROM records r
LEFT JOIN nodes q ON q.id = r.questionid
LEFT JOIN nodes a ON a.id = r.answerid
WHERE 1
對於此查詢我建立以下模式:
CREATE TABLE nodes (
id int auto_increment primary key,
name varchar(30),
type int(1));
INSERT INTO nodes (name, type) VALUES
('Is it a question 01', 0),
('Is it a question 02', 0),
('This is an answer 01', 1),
('This is an answer 02', 1),
('This is an answer 03', 1);
CREATE TABLE records (
id int auto_increment primary key,
questionid int(11),
answerid int(11));
INSERT INTO records (questionid, answerid) VALUES
(1, 3), (1, 4), (1, 5), (2, 4), (2, 5);
沒有足夠的信息。節點和記錄如何相關?顯示您的數據的一些示例。 – sashkello
records.questionid和records.answerid與節點 – Marcelo