簡體   English   中英

SQL:在不知道所有列名的情況下,從連接中的一個表中選擇所有值?

[英]SQL: Select all values from one table in a join while not knowing all column names?

您好,我想知道以下是否可行(在MySQL中):有一個簡單的查詢連接兩個表:

SELECT * FROM `contact_attending_appointment` AS tcon,`contact` AS tget WHERE tcon.appointment_id = 2 AND tget.id = tcon.contact_id;

此查詢將返回兩個表(tcon和tget)連接在一起的值。 但是,我只希望擁有ONE表的列。

基本上在SQL中你可以像這樣實現它:

SELECT col_1,col_2,...,col_n FROM ...

或者你得到所有的專欄

SELECT * FROM ...

但是我希望有類似的東西(因為我不知道他們名字的tget列)

SELECT [* from tget] FROM ...

是否有一般的解決方案或這是不可能的?

SELECT tget.* FROM contact AS tget ...

拉法已經回答了這個問題。 但你似乎在學習SQL。 以下是編寫查詢的更好方法:

SELECT c.*
FROM `contact_attending_appointment` caa INNER JOIN
     `contact` c
     ON c.id = caa.contact_id 
WHERE caa.appointment_id = 2;

重要的變化是:

  1. 使用正確的ANSI連接語法,其中條件在on子句而不是where
  2. 使用表別名作為表名的縮寫。 有人查看查詢(即使你在兩個月的時間內)會發現更容易遵循邏輯。

暫無
暫無

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

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