2
當我沒有在我的計算機表中設置ProcessorID時,我的查詢不起作用 當我在處理器ID或NULL中分配值時,如何使查詢顯示ProcessorName, T'SQL與空值連接
CREATE TABLE myProcessor
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL
) ENGINE=InnoDB;
INSERT INTO myProcessor (Name) VALUES ("xeon");
CREATE TABLE myComputer
(
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
ProcessorID INT DEFAULT NULL,
FOREIGN KEY (ProcessorID) REFERENCES myProcessor(ID) ON DELETE CASCADE
) ENGINE=InnoDB;
INSERT INTO myComputer (Name) VALUES ("Newton");
SELECT p.Name as ProcessorName, c.Name as ComputerName
FROM myComputer c, myProcessor p
WHERE c.ProcessorID = p.ID
AND c.Name = "Newton";
上面的select查詢當前返回null,如果尚未設置processorID。
你在那裏有一個小錯字。 'c.Name'應該是'm.Name'。 – 2010-08-25 04:46:28
哎呀,忘了編輯複製你的答案之後 – 2010-08-25 04:48:33