вы должны использовать другое соединение, что-то в этом направлении:
SELECT toD.dom_url AS ToURL,
fromD.dom_url AS FromUrl,
rvw.*
FROM reviews AS rvw
LEFT JOIN domain AS toD
ON toD.Dom_ID = rvw.rev_dom_for
LEFT JOIN domain AS fromD
ON fromD.Dom_ID = rvw.rev_dom_from
EDIT :
Все, что вы делаете, это соединение в таблицу несколько раз. Посмотрите на запрос в сообщении: он выбирает значения из таблиц отзывов (aliased as rvw), эта таблица предоставляет вам 2 ссылки на таблицу домена (FOR и FROM).
На этом этапе просто оставить слева таблицу Домен в таблице отзывов. Один раз (с псевдонимом D) для FOR и второй раз (с псевдонимом fromD) для FROM.
Затем в списке SELECT вы выберете поля DOM_URL из обоих LEFT JOINS таблицы DOMAIN , ссылаясь на них псевдонимом таблицы для каждого, связанного с ссылкой на таблицу Domains, и псевдоним их как ToURL и FromUrl.
. Для получения дополнительной информации об aliasing в SQL читайте здесь здесь .
Да, Вы можете. Указатель на членскую переменную класса хранится <ударяют> на стеке забастовку> с остальной частью значений структуры, и данные экземпляра класса хранятся на "куче".
Структуры могут также содержать определения классов как участников (внутренние классы).
Вот некоторый действительно бесполезный код, который, по крайней мере, компилирует и работает, чтобы показать, что это возможно:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MyStr m = new MyStr();
m.Foo();
MyStr.MyStrInner mi = new MyStr.MyStrInner();
mi.Bar();
Console.ReadLine();
}
}
public class Myclass
{
public int a;
}
struct MyStr
{
Myclass mc;
public void Foo()
{
mc = new Myclass();
mc.a = 1;
}
public class MyStrInner
{
string x = "abc";
public string Bar()
{
return x;
}
}
}
}
Это - вероятно, не методические рекомендации, чтобы сделать так: см. , http://msdn.microsoft.com/en-us/library/ms229017 (По сравнению с 85) ссылочными типами .aspx
выделяется на "куче", и управление памятью обрабатывается сборщиком "мусора".
типы Значения выделяются на стеке или встраивают и освобождены, когда они выходят из объема.
В целом, типы значения являются более дешевыми, чтобы выделить и освободить. Однако, если они используются в сценариях, которые требуют существенного количества упаковки и распаковывания, они работают плохо по сравнению со ссылочными типами.