여러 조인된 테이블에서 where 구에 사용자 지정 열을 사용합니다.
별칭이 있는 사용자 지정 열을 만드는 중입니다.searchColumn이 명령어는 where 구에서 사용해야 합니다.이것이 어떻게 가능한 걸까요?
SELECT lgs.*,
lg.*,
Concat(Ifnull(lgs.beneficiaryfirstname, ''),
Ifnull(lgs.beneficiarylastname, ''),
Ifnull(lg.Name, '')) AS
"searchColumn"
FROM local_giveaways_submissions lgs
INNER JOIN local_giveaways lg
ON lg.giveawayid = lgs.giveawayid
LEFT JOIN local_giveaways_partners lgp
ON lgs.partnerid = lgp.partnerid
WHERE "searchcolumn" LIKE '%asd%'
업데이트: 검색에는 concat_ws()를 사용하는 것이 좋다고 생각하십니까?
CONCAT_WS(
'%',
CONCAT(lgs.FirstName,' ',lgs.LastName),
lgs.EmailAddress,
CONCAT(lgs.BeneficiaryFirstName,' ',lgs.BeneficiaryLastName),
lg.Name,
lgp.PartnerName
) AS "SearchColumn"
별칭을 참조할 수 없습니다.searchColumn에서WHERE이 에일리어스는 아직 사용할 수 없기 때문에 쿼리와 동일한 수준의 절을 사용합니다.단, MySQL이 오버로드되어 있습니다.HAVING연산자:
SELECT lgs.*, lg.*,
CONCAT(IFNULL(lgs.beneficiaryfirstname, ''),
IFNULL(lgs.beneficiarylastname, ''),
IFNULL(lgs.beneficiarylastname, '')) AS searchColumn
FROM local_giveaways_submissions lgs
INNER JOIN local_giveaways lg
ON lg.giveawayid = lgs.giveawayid
LEFT JOIN local_giveaways_partners lgp
ON lgs.partnerid = lgp.partnerid
HAVING
searchcolumn LIKE '%asd%' -- this is allowed in MySQL
언급URL : https://stackoverflow.com/questions/67580197/use-custom-column-in-the-where-clause-from-multiple-joined-tables
'source' 카테고리의 다른 글
| JavaScript 한 줄 'if' 문 - 최상의 구문, 이 대체 구문? (0) | 2022.11.12 |
|---|---|
| JavaScript 변수가 달러 기호로 시작하는 이유는 무엇입니까? (0) | 2022.11.12 |
| React에서 자녀의 상태에 액세스하는 방법 (0) | 2022.11.12 |
| 캐스케이드 타입의 차이점은 무엇입니까?JPA에서 REMOVE 및 orphanRemoval? (0) | 2022.11.12 |
| Python이 해석되면 .pyc 파일이 뭐죠? (0) | 2022.11.12 |