Есть ли подвох? Да, есть - левые соединения являются формой внешнего соединения, в то время как внутренние соединения являются формой, ну, в общем, внутреннего соединения.
Вот примеры, которые показывают разницу. Начнем с базовых данных:
mysql> select * from j1;
+----+------------+
| id | thing |
+----+------------+
| 1 | hi |
| 2 | hello |
| 3 | guten tag |
| 4 | ciao |
| 5 | buongiorno |
+----+------------+
mysql> select * from j2;
+----+-----------+
| id | thing |
+----+-----------+
| 1 | bye |
| 3 | tschau |
| 4 | au revoir |
| 6 | so long |
| 7 | tschuessi |
+----+-----------+
И здесь мы увидим разницу между внутренним соединением и левым соединением:
mysql> select * from j1 inner join j2 on j1.id = j2.id;
+----+-----------+----+-----------+
| id | thing | id | thing |
+----+-----------+----+-----------+
| 1 | hi | 1 | bye |
| 3 | guten tag | 3 | tschau |
| 4 | ciao | 4 | au revoir |
+----+-----------+----+-----------+
Хмм, 3 строки. 117]
mysql> select * from j1 left join j2 on j1.id = j2.id;
+----+------------+------+-----------+
| id | thing | id | thing |
+----+------------+------+-----------+
| 1 | hi | 1 | bye |
| 2 | hello | NULL | NULL |
| 3 | guten tag | 3 | tschau |
| 4 | ciao | 4 | au revoir |
| 5 | buongiorno | NULL | NULL |
+----+------------+------+-----------+
Ух ты, 5 рядов! Что произошло?
Внешние объединения, такие как left join
, сохраняют строки, которые не совпадают, поэтому строки с идентификаторами 2 и 5 сохраняются в запросе левого соединения. Остальные столбцы заполнены NULL.
Другими словами, левые и внутренние соединения не являются взаимозаменяемыми.
Это не файл на сервере. Он хранится как большой двоичный объект в базе данных ReportServer.
(в таблице каталога, чтобы быть точным в SSRS 2005)
На этой странице показано, как получить его с использованием T-SQL
http://mscrmuk.blogspot.com/2009/05/rading-rdl-definitions-directly-from.html
Джефф
Обновление : вот соответствующий запрос, в случае, если этот блог пост исчезает в будущем:
select convert(varchar(max), convert(varbinary(max), content))
from catalog
where content is not null