Извините, если это действительно глупый вопрос, но я не слишком хорошо знаком с синтаксисом MYSQL.MYSQL - отображение результатов запроса результата без потери фактических записей результата
Я исторически работает:
USE hg19;
SELECT DISTINCT (name2), txStart, txEnd
FROM refGene
WHERE name2 LIKE '[genename]';
, который будет выводить все записи и это было прекрасно, за исключением того, если бы я искал запись, не существовало, я хотел бы получить пустой (который только таким образом, оказался тот же результат, если я отключен от сервера). Это привело к возникновению проблем, связанных с нисходящим потоком, когда я не мог обнаружить, что запись не существует, а мой интернет отключил меня.
Так вместо этого я решил попробовать:
USE hg19;
SELECT *, count(*) AS results
FROM (
SELECT DISTINCT (name2), txStart, txEnd
FROM refGene
WHERE name2 LIKE 'TP53'
) a;
Это теперь дают мне 0 результатов, если она не существует (а если он не подключен, было бы оставаться пустым). Однако теперь по какой-либо причине он отображает только одну запись независимо от того, что (если я запрашиваю TP53, например, он должен иметь две разные записи -> однако он даст мне результаты: 2, но отобразит только один из них). Есть ли способ обойти это? Я все равно хотел бы, чтобы он показывал все отличные результаты.
Привет, Спасибо, Это исправлено, если запись существует, но она возвращается к исходной проблеме, где, если я запускаю запрос и запись не существует, я не получаю предупреждения о том, что она не существует (она выиграла 't отображает результат 0, на что я надеялся) – user3412393
@ user3412393. Я так и не заметил этого. Кажется, нам нужен LEFT JOIN, см. Мое редактирование. – VMai