LEFT JOIN B
совпадает с B RIGHT JOIN A
. Некоторый RDBMS не имеет RIGHT JOIN
, таким образом, необходимо переписать Ваш RIGHT JOIN
логика к LEFT JOIN
логика
A 1 2 3
B 2 3 4 3
SELECT A.I FROM INNER JOIN B ON B.I = A.I;
output: 2 3, 3
SELECT A.I AS X, B.I AS Y FROM A LEFT JOIN B ON B.I = A.I;
read above code as A on LEFT, JOINs B
output:
X Y
1 NULL
2 2
3 3
3 3
SELECT A.I AS X, B.I AS Y FROM B RIGHT JOIN A ON A.I = B.I;
Read вышеупомянутый код как B on RIGHT, JOINs A
. То, которое является все равно, как A находится на ЛЕВОМ
Независимо от того, что идет оставленное, всегда оценивается, всегда имейте вывод. Можно предположить, что ЛЕВОЕ СОЕДИНЕНИЕ B, B ПРАВО ПРИСОЕДИНЯЮТСЯ как:
var result = new Dictionary<int, int?>();
var A = new int[] { 1, 2, 3 };
var B = new int[] { 2, 3, 4, 3 };
foreach (int aElem in A)
{
bool hasMatch = false;
foreach (int bElem in B)
{
if (bElem == aElem)
{
result.Add(aElem, bElem);
hasMatch = true;
}
}
if (!hasMatch)
result.Add(aElem, null);
}
foreach(int X in result.Keys)
{
MessageBox.Show(string.Format("X {0} Y {1}", X, result[X].HasValue ? result[X].Value.ToString() : "NULL" ));
}
Установка аргумента VM должно работать:
java -Duser.home=<new_location> <your_program>
Вот тестовый пример:
public class test {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
}
}
Протестировано с java 1.5.0_17 на Win XP и Linux
java test
/home/ChssPly76
java -Duser.home=overwritten test
overwritten