MySql联合查询从另一张表中2次读取id对应的名称该怎么写查询语句呢?
Task表:id , start_NPC_id , end_NPC_id
NPC表:NPC_id,NPC_name
我读数据的时候要联合查询NPC表2次,请问sql怎么写?
select Task.id,NPC_name,NPC_name from Task,NPC where Task.id=1 and Task.start_NPC_id=NPC.NPC_id and Task.end_NPC_id=NPC.NPC_name limit 0,1;
我原来这样写读出的数据是0条,请高手指点指点,感激不尽。。。
已经解决,加上一个表别名就可以了,一条语句中多次查询一张表时必须使用表别名:
select task.id,n1.npc_name as start_npc_id,n2.npc_name as end_npc_id from task,npc as n1,npc as n2 where task.id=1 and task.start_npc_id=n1.npc_id and task.end_npc_id=n2.npc_id limit 0,1;
OK了,用上面的语句就可以从npc表中连续查出2次所需的数据...
你的描述还是太模丛槐糊。。。
其实你给2个表举几组数据 然后说明你要取出的数据是什么样的比较好
你这个sql语句读出来的数据是0 说明语句是没错的
错误陵郑兄尺袭的有可能是
1.你的算法逻辑有问题
2.逻辑没问题 那就是确实是没有符合条件的数据