簡體   English   中英

如何在mysql中對生成的列使用select語句?

[英]How to use a select statement for a generated column in mysql?

我有2張桌子。

table_1:
Id.    Name        Surname.   company_id
1      tony.       tata.      fiat
2      Michael.    folks.     fiat
3      Salvo       ture.      alfa 

table_2:
company_id.   street.          cap.        numbers_of_guys
fiat          via le maini.    20123.      2
alfa          stazione x.      20123.      1
foo           novara           20145.      0 

我想創建一個生成的列來計算我在 table_1.company_id = table_2.company_id 中有多少行並將其存儲在 table_2.numbers_of_guys 中

如何插入查詢語句作為默認表達式?

SELECT COUNT(table_1.id)
FROM table_2
INNER JOIN table_1 USING (company_id)

您不應該存儲容易計算的列,您可以擴展查詢以包含分組依據。

SELECT t2.`company_id.`, t2.`street.`, t2.`cap.` , COUNT(table_1.id)
FROM table_2 t2
LEFT JOIN table_1 t1 on t1.company_id = t2.`company_id.`
group by t2.`company_id.`, t2.`street.`, t2.`cap.` 

順便說一句,如果您總是需要將它們括在反引號中,您的表列名是否真的以句號結尾。 此外,盡管 using 在語法上是正確的,但(在我看來)最好明確說明連接的雙方,還要注意 LEFT 連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM