求一left join的SQL语句

solotarn 2005-06-10 02:54:49
select Column.* , ColumnTitle.ColumnName from Column left join ColumnTitle on Column.ColumnId = ColumnTitle.ColumnId where Column.Template = ‘t1’ and ColomTitle.StoreId = 2

上面的SQL语句是我想要达到的效果,但应该不正确。

Column表中存放默认的值,ColumnTitle表中存放用户修改的值,要求用户若作了修改用修改值,否则用默认值。同时只对Column中Column.Template = ‘t1’的和ColumnTitle中 ColomTitle.StoreId = 2的进行左联,怎么实现。还有ColumnId 是否不能为文本?
...全文
141 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
solotarn 2005-06-11
  • 打赏
  • 举报
回复
已解决,如下:subquery + left join

select * from (select * from MyColumn where Template ='1') as a left join (select ColumnName,ColumnId from ColumnTitle where StoreId = 3) as b on a.ColumnId = b.ColumnId
solotarn 2005-06-10
  • 打赏
  • 举报
回复
楼上的不行。
如果把楼上的倒数第二个and 改为WHERE,则只返回有匹配的行,所以也不行。
noshape 2005-06-10
  • 打赏
  • 举报
回复
[Microsoft][ODBC Microsoft Access Driver] 不支持连接表达式?
是不是因为Access的原因呢?
GRLD8888 2005-06-10
  • 打赏
  • 举报
回复
select [Column].* , ColumnTitle.ColumnName from [Column] left join ColumnTitle on [Column].ColumnId = ColumnTitle.ColumnId and [Column].Template = ‘t1’ and ColomTitle.StoreId = 2

试试这样可以吗
solotarn 2005-06-10
  • 打赏
  • 举报
回复
改过来了,不过好像还是不行。郁闷!
631799 2005-06-10
  • 打赏
  • 举报
回复
就像你建了个表名为if的表一样。if是关键字,所以要加[]
w_lion 2005-06-10
  • 打赏
  • 举报
回复
Column是保留字
solotarn 2005-06-10
  • 打赏
  • 举报
回复
w_lion(豆腐) :
能说清楚点吗,[Column]是什么作用呢?
w_lion 2005-06-10
  • 打赏
  • 举报
回复
Column 改为[Column]
solotarn 2005-06-10
  • 打赏
  • 举报
回复

所有的错误信息就这些了。
w_lion 2005-06-10
  • 打赏
  • 举报
回复
你自己哪名的错误信息写出来
solotarn 2005-06-10
  • 打赏
  • 举报
回复
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不支持连接表达式。
paoluo 2005-06-10
  • 打赏
  • 举报
回复
那试试

select Column.* , ColumnTitle.ColumnName from Column left join ColumnTitle on Column.ColumnId = ColumnTitle.ColumnId And Column.Template = ‘t1’ and ColomTitle.StoreId = 2

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧