CREATE TABLE BOOKS
(
ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
ARTICLES NVARCHAR(20)
)
GO
INSERT INTO BOOKS
SELECT '1,2,3' UNION
SELECT '4,5,6'
GO
CREATE TABLE ARTICLES
(
ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
AUTHORS NVARCHAR(20)
)
GO
INSERT INTO ARTICLES
SELECT '1,2,3' UNION
SELECT '4,5,6' UNION
SELECT '4,5,6' UNION
SELECT '4,5,6' UNION
SELECT '1,2,3' UNION
SELECT '1,2,3'
GO
CREATE TABLE AUTHORS
(
ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
AUTHORNAME NVARCHAR(8)
)
GO
INSERT INTO AUTHORS
SELECT '张三' UNION
SELECT '李四' UNION
SELECT '王五' UNION
SELECT '小麦' UNION
SELECT '小王' UNION
SELECT '小李'
GO
SELECT * FROM BOOKS
SELECT * FROM ARTICLES
SELECT * FROM AUTHORS
books表书籍表,每本书的有很多文章,保存在articles字段中
articles表包为文章表,每篇文章由多个人编辑完成(保存在authors列中)
author表包含作者信息
不使用游标,查询参与编写ID号为1的书的作者
第二个表是没有ID,第一个表中的ID号要出现在下面的两行记录中,则数据匹配成功,不能用游标
目前本人卡在上面图片当中。
本人sql
select distinct AUTHORS from ARTICLES
where CHARINDEX(',',(select ARTICLES from books where id=1))>0
第二个表中没有没有ID列吧?
写具体点
第2个表中没有id好,你建表时的语句应该要写一下名字的吧
你用下面代码试试
CREATE TABLE 学生信息
(
ID 'id'varchar(14) IDENTITY(1,1) PRIMARY KEY,
'authous' as AUTOUNAMEvarchar(8) UNIQUE NOT NULL,
)
(*^__^*) 嘻嘻……,我查出来的就是这样的 ,这个我分析了半个上午也没弄出来...
左连(右连、内连)+charindex 不行;
没有Id 是不是就是没有关联字段 如果没有关联字段 就没办法查出来 因为你不直到通过什么区查