나는 Mysql은 프리스트 행을 선택하기위한 TOP 1 기능을 가지고 있지 않습니다. 그래서 한계 1을 사용합니다. 하지만 어떻게 동시에 프리스트 행 양식 두 테이블 (tableX, tableY)을 선택할 수 있습니다.첫 번째 행 양식을 두 테이블을 선택하십시오
??
SELECT * FROM Database.tableX
limit 1, Database.tableY limit 1
나는 Mysql은 프리스트 행을 선택하기위한 TOP 1 기능을 가지고 있지 않습니다. 그래서 한계 1을 사용합니다. 하지만 어떻게 동시에 프리스트 행 양식 두 테이블 (tableX, tableY)을 선택할 수 있습니다.첫 번째 행 양식을 두 테이블을 선택하십시오
??
SELECT * FROM Database.tableX
limit 1, Database.tableY limit 1
그냥이 :
SELECT *
FROM Database.TableX, Database.TableY
LIMIT 1
아니면이? 테이블 정의가 일치하는 경우
SELECT *
FROM
(SELECT * FROM Database.TableX LIMIT 1) t1,
(SELECT * FROM Database.TableY LIMIT 1) t2
두 행 사이에 어떤 종류의 관계가 없으면 불가능합니다. 다른 답변은 두 행을 결합하려고 시도하지만 각 행의 첫 번째 행이라는 보장은 없습니다. 또한 두 테이블에서 일치시킬 수있는 필드가 있다고 가정합니다.
내 최고의 제안은 두 개의 쿼리를 수행하는 것입니다
SELECT * FROM Database.tableX limit 1;
SELECT * FROM Database.tableY limit 1;
편집 : 당신은 또한 어떻게 행을 정렬하는 MySQL을 알려하여 ORDER를 추가해야합니다.
질문을 읽는 것조차 +1. –
아마도 :
SELECT * FROM Database.tableX LIMIT 1
UNION ALL
(
SELECT * FROM Database.tableY LIMIT 1
)
주 내부 브래킷이 필요하다. 그렇지 않으면 옵티마이 저가 결과 세트를 1로 제한합니다. LIMIT 1
절
두 테이블 중 첫 번째 행을 정의하는 것은 무엇입니까? 연결은 무엇입니까? –
두 테이블 사이에 연결이 없으므로이 테이블을 한 행씩 처리해야합니다. – Samuel
@samuel 그래서 테이블 사이에 연결이 없다면, 당신이 묻고있는 것은 말이되지 않습니다. 또한 ORDER BY를 사용하여 MySQL에 행 정렬 방법을 알려주지 않는 한 테이블의 "첫 번째"행과 같은 것은 없습니다. –