WHERE子句不返回任何行
问题描述:
如果我使用下面的查询。WHERE子句不返回任何行
SELECT a1.unit_name, a1.attack_name, att.unit_name, att.attack_name
FROM Army_1 a1, Attacks att
我得到这些数据。
Arkanaut Company, Aethermatic Volley Gun, Arkanaut Company, Privateer Pistol
Arkanaut Company, Aethermatic Volley Gun, Arkanaut Company, Aethermatic Volley Gun
但是在a1.unit_name = att.unit_name中使用WHERE子句。我没有行。 有什么明显的我失踪了?
编辑:
表中插入
CREATE TABLE Army_1 (
ID INTEGER PRIMARY KEY,
Unit_Name VARCHAR,
Attack_Name VARCHAR,
Quantity INT
);
CREATE TABLE Attacks (
Unit_Name REFERENCES Models (Unit_Name),
Attack_Name VARCHAR,
Attack_Type VARCHAR,
Attacks INTEGER,
To_Hit INTEGER,
To_Wound INTEGER,
Rend INTEGER,
Damage INTEGER
);
答
好像你可能想要做一个JOIN。
试试这个:
SELECT a1.unit_name, a1.attack_name, att.unit_name, att.attack_name
FROM Army_1 a1
INNER JOIN Attacks att ON a1.unit_name = att.unit_name
+0
嗨,杰夫,谢谢,但仍然返回0行。你假设任何PK或FK的?我真的无法理解这一点1. –
+0
你能否确认两个表中有一些重叠的单元名称? –
+0
是Arkanaut公司是1,我提出的问题 –
这听起来像你只是想做一个'加入'。 – CollinD
嗨CollinD,仍然返回0行? –
声音像空格或不兼容的字符编码。 – Julian