MySQL Join Condition

Также:

public static string ByteArrayToString(byte[] ba)
{
  StringBuilder hex = new StringBuilder(ba.Length * 2);
  foreach (byte b in ba)
    hex.AppendFormat("{0:x2}", b);
  return hex.ToString();
}

или:

public static string ByteArrayToString(byte[] ba)
{
  return BitConverter.ToString(ba).Replace("-","");
}

существует еще больше вариантов выполнения его, например здесь .

обратная конверсия пошла бы как это:

public static byte[] StringToByteArray(String hex)
{
  int NumberChars = hex.Length;
  byte[] bytes = new byte[NumberChars / 2];
  for (int i = 0; i < NumberChars; i += 2)
    bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
  return bytes;
}

Используя Substring наилучший вариант в сочетании с Convert.ToByte. См. этот ответ для получения дополнительной информации. При необходимости в лучшей производительности необходимо избежать Convert.ToByte, прежде чем можно будет отбросить SubString.

7
задан Polsonby 23 July 2009 в 22:19
поделиться

2 ответа

Этот запрос должен делать то, что вы ищете.

SELECT 
    s1.Id, s1.Name, s1.Parent, s2.Id as Child, MAX(s2.Mark) as Mark, m.Ranking 

FROM 
    Students s1
    INNER JOIN Students s2 ON (s1.id = s2.parent AND s2.Mark >= 20) 
    LEFT JOIN Marks m ON (s1.name = m.name) 

GROUP BY 
    s1.Id, s1.Name, s1.Parent, Child, Ranking;
3
ответ дан 7 December 2019 в 16:44
поделиться

1.

select * from Students S1
join Students S2 on(S1.Id=S2.StudentId)

2.

Вам нужно уточнить, какой из двух экземпляров учеников вы имеете в виду здесь в каждом из двух случаев - S1 или S2? Когда вы выражаете свое (домашнее задание?) Задание, оно в каждом случае на 100% неоднозначно. Может быть , где S1.Mark> = 20 и S1.Mark = (выберите max (s3.mark) из учеников s3 и т. Д. И т. Д., Или многие другие варианты.

  1. снова двусмысленность относительно того, какой экземпляр учеников вы имеете в виду, в любом случае вам просто нужно изменить выбор и добавить одно соединение:

    выберите Marks.Ranking from Студенты S1 присоединиться к студентам S2 на (S1.Id = S2.StudentId) присоедините Marks к (S1.Name = Marks.Name)

и where , как и раньше.

0
ответ дан 7 December 2019 в 16:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: